perm filename KLDCP.LST[KL,SYS] blob sn#855715 filedate 1988-04-15 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00414 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00067 00002		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 1
C00069 00003		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 2
C00072 00004		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 3
C00076 00005		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 4
C00078 00006		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 5
C00080 00007		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 6
C00081 00008		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 7
C00086 00009		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 8
C00088 00010		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 9
C00092 00011		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 10
C00096 00012		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 11
C00100 00013		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 12
C00101 00014		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 13
C00105 00015		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 14
C00106 00016		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 15
C00109 00017		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 16
C00111 00018		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 17
C00112 00019		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 18
C00114 00020		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 19
C00116 00021		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 20
C00119 00022		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 21
C00120 00023		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 22
C00122 00024		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 23
C00125 00025		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 24
C00129 00026		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 25
C00133 00027		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 26
C00136 00028		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 27
C00140 00029		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 28
C00143 00030		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 29
C00146 00031		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 30
C00148 00032		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 31
C00150 00033		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 32
C00153 00034		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 33
C00155 00035		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 34
C00159 00036		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 35
C00162 00037		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 36
C00165 00038		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 37
C00168 00039		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 38
C00171 00040		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 39
C00173 00041		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 40
C00176 00042		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 41
C00179 00043		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 42
C00181 00044		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 43
C00184 00045		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 44
C00186 00046		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 45
C00190 00047		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 46
C00191 00048		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 47
C00194 00049		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 48
C00196 00050		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 49
C00199 00051		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 50
C00202 00052		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 51
C00205 00053		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 52
C00209 00054		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 53
C00213 00055		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 54
C00214 00056		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 55
C00216 00057		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 56
C00217 00058		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 57
C00218 00059		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 58
C00219 00060		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 59
C00223 00061		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 60
C00225 00062		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 61
C00226 00063		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 62
C00230 00064		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 63
C00232 00065		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 64
C00235 00066		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 65
C00238 00067		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 66
C00242 00068		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 67
C00244 00069		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 68
C00247 00070		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 69
C00250 00071		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 70
C00253 00072		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 71
C00256 00073		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 72
C00259 00074		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 73
C00261 00075		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 74
C00264 00076		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 75
C00267 00077		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 76
C00271 00078		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 77
C00274 00079		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 78
C00277 00080		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 79
C00279 00081		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 80
C00281 00082		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 81
C00285 00083		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 82
C00289 00084		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 83
C00290 00085		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 84
C00293 00086		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 85
C00296 00087		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 86
C00299 00088		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 87
C00302 00089		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 88
C00305 00090		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 89
C00307 00091		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 90
C00309 00092		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 91
C00312 00093		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 92
C00315 00094		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 93
C00318 00095		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 94
C00321 00096		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 95
C00324 00097		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 96
C00327 00098		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 97
C00329 00099		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 98
C00331 00100		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 99
C00334 00101		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 100
C00337 00102		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 101
C00341 00103		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 102
C00342 00104		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 103
C00346 00105		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 104
C00348 00106		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 105
C00351 00107		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 106
C00353 00108		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 107
C00355 00109		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 108
C00358 00110		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 109
C00361 00111		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 110
C00363 00112		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 111
C00364 00113		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 112
C00367 00114		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 113
C00369 00115		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 114
C00371 00116		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 115
C00374 00117		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 116
C00375 00118		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 117
C00378 00119		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 118
C00381 00120		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 119
C00382 00121		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 120
C00386 00122		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 121
C00389 00123		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 122
C00392 00124		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 123
C00395 00125		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 124
C00398 00126		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 125
C00399 00127		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 126
C00402 00128		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 127
C00405 00129		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 128
C00407 00130		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 129
C00411 00131		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 130
C00412 00132		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 131
C00416 00133		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 132
C00418 00134		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 133
C00422 00135		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 134
C00425 00136		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 135
C00427 00137		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 136
C00431 00138		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 137
C00435 00139		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 138
C00437 00140		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 139
C00440 00141		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 140
C00441 00142		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 141
C00445 00143		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 142
C00449 00144		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 143
C00453 00145		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 144
C00457 00146		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 145
C00461 00147		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 146
C00462 00148		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 147
C00466 00149		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 148
C00467 00150		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 149
C00470 00151		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 150
C00473 00152		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 151
C00475 00153		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 152
C00478 00154		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 153
C00480 00155		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 154
C00482 00156		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 155
C00486 00157		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 156
C00489 00158		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 157
C00490 00159		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 158
C00492 00160		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 159
C00494 00161		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 160
C00495 00162		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 161
C00497 00163		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 162
C00499 00164		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 163
C00501 00165		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 164
C00503 00166		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 165
C00505 00167		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 166
C00509 00168		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 167
C00513 00169		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 168
C00517 00170		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 169
C00520 00171		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 170
C00522 00172		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 171
C00523 00173		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 172
C00524 00174		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 173
C00528 00175		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 174
C00529 00176		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 175
C00533 00177		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 176
C00537 00178		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 177
C00540 00179		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 178
C00542 00180		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 179
C00544 00181		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 180
C00545 00182		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 181
C00548 00183		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 182
C00551 00184		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 183
C00554 00185		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 184
C00555 00186		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 185
C00558 00187		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 186
C00561 00188		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 187
C00565 00189		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 188
C00568 00190		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 189
C00571 00191		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 190
C00573 00192		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 191
C00577 00193		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 192
C00578 00194		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 193
C00581 00195		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 194
C00582 00196		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 195
C00585 00197		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 196
C00588 00198		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 197
C00591 00199		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 198
C00595 00200		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 199
C00598 00201		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 200
C00599 00202		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 201
C00601 00203		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 202
C00604 00204		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 203
C00607 00205		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 204
C00610 00206		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 205
C00613 00207		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 206
C00614 00208		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 207
C00616 00209		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 208
C00619 00210		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 209
C00621 00211		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 210
C00624 00212		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 211
C00625 00213		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 212
C00628 00214		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 213
C00631 00215		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 214
C00634 00216		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 215
C00638 00217		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 216
C00639 00218		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 217
C00642 00219		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 218
C00645 00220		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 219
C00647 00221		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 220
C00649 00222		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 221
C00652 00223		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 222
C00654 00224		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 223
C00656 00225		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 224
C00660 00226		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 225
C00661 00227		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 226
C00664 00228		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 227
C00665 00229		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 228
C00668 00230		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 229
C00669 00231		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 230
C00672 00232		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 231
C00674 00233		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 232
C00678 00234		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 233
C00680 00235		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 234
C00682 00236		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 235
C00686 00237		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 236
C00690 00238		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 237
C00694 00239		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 238
C00697 00240		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 239
C00699 00241		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 240
C00702 00242		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 241
C00705 00243		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 242
C00706 00244		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 243
C00709 00245		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 244
C00712 00246		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 245
C00715 00247		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 246
C00718 00248		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 247
C00722 00249		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 248
C00724 00250		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 249
C00725 00251		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 250
C00727 00252		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 251
C00729 00253		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 252
C00732 00254		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 253
C00736 00255		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 254
C00737 00256		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 255
C00739 00257		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 256
C00741 00258		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 257
C00744 00259		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 258
C00747 00260		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 259
C00750 00261		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 260
C00752 00262		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 261
C00755 00263		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 262
C00756 00264		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 263
C00759 00265		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 264
C00762 00266		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 265
C00763 00267		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 266
C00766 00268		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 267
C00768 00269		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 268
C00771 00270		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 269
C00772 00271		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 270
C00775 00272		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 271
C00779 00273		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 272
C00783 00274		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 273
C00785 00275		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 274
C00789 00276		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 275
C00791 00277		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 276
C00794 00278		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 277
C00798 00279		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 278
C00801 00280		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 279
C00804 00281		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 280
C00806 00282		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 281
C00809 00283		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 282
C00810 00284		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 283
C00813 00285		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 284
C00816 00286		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 285
C00818 00287		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 286
C00822 00288		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 287
C00826 00289		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 288
C00829 00290		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 289
C00831 00291		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 290
C00834 00292		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 291
C00837 00293		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 292
C00839 00294		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 293
C00842 00295		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 294
C00843 00296		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 295
C00847 00297		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 296
C00848 00298		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 297
C00851 00299		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 298
C00854 00300		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 299
C00857 00301		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 300
C00861 00302		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 301
C00862 00303		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 302
C00865 00304		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 303
C00869 00305		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 304
C00873 00306		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 305
C00874 00307		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 306
C00877 00308		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 307
C00879 00309		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 308
C00880 00310		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 309
C00881 00311		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 310
C00885 00312		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 311
C00886 00313		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 312
C00889 00314		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 313
C00890 00315		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 314
C00891 00316		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 315
C00893 00317		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 316
C00896 00318		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 317
C00897 00319		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 318
C00901 00320		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 319
C00905 00321		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 320
C00910 00322		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 321
C00914 00323		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 322
C00917 00324		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 323
C00921 00325		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 324
C00925 00326		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 325
C00929 00327		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 326
C00931 00328		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 327
C00936 00329		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 328
C00940 00330		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 329
C00944 00331		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 330
C00945 00332		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 331
C00948 00333		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 332
C00952 00334		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 333
C00954 00335		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 334
C00959 00336		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 335
C00961 00337		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 336
C00966 00338		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 337
C00968 00339		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 338
C00971 00340		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 339
C00972 00341		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 340
C00973 00342		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 341
C00975 00343		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 342
C00978 00344		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 343
C00979 00345		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 344
C00982 00346		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 345
C00984 00347		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 346
C00987 00348		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 347
C00988 00349		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 348
C00990 00350		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 349
C00991 00351		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 350
C00994 00352		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 351
C00996 00353		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 352
C00998 00354		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 353
C01000 00355		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 354
C01002 00356		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 355
C01004 00357		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 356
C01006 00358		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 357
C01007 00359		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 358
C01010 00360		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 359
C01013 00361		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 360
C01014 00362		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 361
C01018 00363		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 362
C01019 00364		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 363
C01023 00365		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 364
C01026 00366		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 365
C01030 00367		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 366
C01031 00368		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 367
C01033 00369		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 368
C01038 00370		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 369
C01041 00371		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 370
C01044 00372		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 371
C01048 00373		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 372
C01049 00374		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 373
C01052 00375		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 374
C01056 00376		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 375
C01057 00377		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 376
C01059 00378		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 377
C01061 00379		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 378
C01063 00380		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 379
C01065 00381		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 380
C01067 00382		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 381
C01071 00383		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 382
C01074 00384		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 383
C01077 00385		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 384
C01080 00386		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 385
C01084 00387		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 386
C01085 00388		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 387
C01089 00389		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 388
C01092 00390		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 389
C01095 00391		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 390
C01096 00392		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 391
C01097 00393		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 392
C01100 00394		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 393
C01102 00395		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 394
C01104 00396		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 395
C01107 00397		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 396
C01109 00398		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 397
C01111 00399		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 398
C01113 00400		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 399
C01115 00401		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 400
C01117 00402		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 401
C01120 00403		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 402
C01121 00404		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 403
C01122 00405		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 404
C01127 00406		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 405
C01132 00407		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 406
C01137 00408		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 407
C01142 00409		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 408
C01147 00410		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 409
C01152 00411		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 410
C01157 00412		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 411
C01162 00413		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 412
C01166 00414		KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 413
C01167 ENDMK
C⊗;
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 1
	KLDCP PAL[KL,SYS]	Page 1 	

				COMMENT ⊗   VALID 00005 PAGES
				C REC  PAGE   DESCRIPTION
				C00001 00001
				C00002 00002	DECSYSTEM10 KL10 PDP-11 DIAGNOSTIC CONSOLE PROGRAM
				C00004 00003	ASSEMBLY PARAMETERS
				C00008 00004	KLDCPU UTILITY PROGRAM PARAMETERS
				C00009 00005	FUQ::		THIS IS HERE TO AVOID GETTING A "LOCAL TAG BEFORE
				C00011 ENDMK
					C⊗;
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 2
	KLDCP PAL[KL,SYS]	Page 2 	

					;DECSYSTEM10 KL10 PDP-11 DIAGNOSTIC CONSOLE PROGRAM
					
					
		000010			DECVER==010
		000000			MCNVER==0
		000007			SAILVR==7	;STANFORD VERSION NUMBER.  (DEFINING SAILVR MAKES STANFORD ASSEMBLY)
					
							
					.TITLE	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10
					
					.LIST	MC,MD
					;.DSABL	GBL
					;.DSABL	REG
					.ABS
					;.ENABL	AMA
					
					;JOHN R. KIRCHOFF
					;DIGITAL EQUIPMENT CORPORATION
					;MARLBORO, MASS. 01752
					
					
					;[  NOTE:  If you change SBST11, you should reassemble KLDCPU also! ]
					;Stanford Revision History.  
					;
					;1	 4/17/76	Convert to PALX
					;2	 4/19/76	Install EPTREL switch
					;			Fix LE,LT, etc. to use correct extension by default.
					;3	 4/26/76	Add clock sub-functions 4,5
					;4	 4/29/76	Make clock interrupt.  Fix SET MONMOD.
					;5	 5/11/76	Change clock subfunctions 4,5 for pdp-10 doubleword time
					;6	 5/24/76	Add MIT code for MZ, PCF, DDT command, ST mods,
					;			Also JBR's code for keeping DSKDMP BOOT in 11-core
					;7	 4/29/80	JEP (Jim Powell) & REG to support ethernet and QM protocol
					;			Through 7/80
					;8	 1/12/81	Bugtrap and fixes to ethernet stuff. (TVR)
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 3
	KLDCP PAL[KL,SYS]	Page 3 	

					;ASSEMBLY PARAMETERS
					
		000001			KLDCP=	1	;ASSEMBLE KLDCP
		000001			DTEASB=	1	;ASSEMBLE DTE20
		000001			DTEDEF= 1	;DEFINE DTE OFFSET ADDRESSES
		000001			DVSASB=	1	;ASSEMBLE DEVICE SERVICE
		000001			KWASB=	1	;ASSEMBLE KW CLOCK
		000001			DLASB=	1	;ASSEMBLE DL11
					;DHASB=	1	;ASSEMBLE DH11
					;TAASB=	1	;ASSEMBLE TA CASSETTE
					;RXASB=	1	;ASSEMBLE RX11/RX01 FLOPPY
		000001			TCASB=	1	;ASSEMBLE TC DECTAPE
					;RPASB=	1	;ASSEMBLE RP04 DISK PACK
					;LPASB=	1	;ASSEMBLE LP20 LINE PRINTER
		000001			EPTREL==1	;ASSEMBLE EXAMINES/DEPOSITS FOR COMMUNICATIONS RELATIVE TO EPT
					;BPTASB==1	;ASSEMBLE KLDCP TYPE BREAKPOINT STUFF
		000001			BOOASB==1	;ASSEMBLE DSKDMP BOOT STUFF
		000001			%%DDT==1	;ASSEMBLE TO ALLOW DDT TO COEXIST WITH KLDCP
		000001			TELASB==1	;ASSEMBLE DIALUP CONNECTION CODE, TURN OFF KLINIK FEATURE
		000001			CLKASB==1	;ASSEMBLE TCU-100 BATTERY CLOCK CODE
					;UTLASB==1	;ASSEMBLE LINKAGES TO KLDCPU
					;MONASB==1	;ASSEMBLE MONITOR TYPE COMMANDS (INCLUDES SOME ACT10 STUFF)
		000001			%%QMP==1	;Assemble queued message protocol,
								;front-end reloads from WAITS
								;ethernet support
					;;FSCASB==1	;Assemble statistics for QMP free storage.
		000001			PCKASB==1	;Assemble checksumming of incoming PUPs (QMP11)
					
		000010			$NB=	8.	;USE 8 BREAKPOINTS
					
					;SUBROUTINE CODE BEGINS AT 16K (WORDS)
					
		100000			PRGSRT	=16.*1024.*2.
		160000			COREND	=28.*1024.*2.
					
					.IF DF %%DDT
		077766			%DDTS==PRGSRT-12
		003000			TOUTBF=3000	;OVERLAY BUFFER DOWN WHERE DIAGS GO
					.IFF
					TOUTBF=	70000	;OVERLAY BUFFER
					.ENDC
					
					;PDP-10 ABSOLUTE CORE LOCATIONS:
					
		000440			$STD=	440	;PDP-10 DIAGNOSTIC START ADDRESS
		000441			$DDT=	441	;PDP-10 DDT START ADDRESS
		000442			$STL=	442	;PDP-10 LOADER START ADDRESS
		000443			$STM=	443	;PDP-10 MONITOR START ADDRESS
					
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 4
	KLDCP PAL[KL,SYS]	Page 3.1 	

					;PDP-10 KL10 EXEC PROCESS TABLE PARAMETERS. 
					;IF EPTREL≠0 THEN ALL OF THE FOLLOWING ARE RELATIVE TO EBR IN THE KL10
					
		000444			$DTFLG=	444	;DTE20 OPERATION COMPLETE FLAG
		000445			$DTCLK=	445	;DTE20 CLOCK INTERRUPT FLAG
					;;$DTCI=	446	;DTE20 CLOCK INTERRUPT INSTRUCTION (10 SOFTWARE ONLY)
					.LIF DF CLKASB
		000446			$DTTIME=446	;DTE20 TIME AND DATE FROM BATTERY BACKUP CLOCK
		000447			$DTT11=	447	;DTE20 10 TO 11 ARGUMENT
		000450			$DTF11=	450	;DTE20 11 TO 10 ARGUMENT
		000451			$DTCMD=	451	;DTE20 TO 11 COMMAND WORD
		000452			$DTSEQ=	452	;DTE20 OPERATION SEQUENCE NUMBER (10 SOFTWARE ONLY. NOT USED)
		000453			$DTOPR=	453	;DTE20 OPERATION IN PROGRESS FLAG (10 SOFTWARE ONLY. NOT USED)
		000454			$DTCHR=	454	;DTE20 LAST KEY TYPED ON CTY
		000455			$DTMTD=	455	;DTE20 MONITOR TTY OUTPUT COMPLETE FLAG
		000456			$DTMTI=	456	;DTE20 MONITOR TTY INPUT FLAG
		000457			$DTSWR=	457	;DTE20 PDP-10 SWITCH REGISTER
		000460			$DTQMP= 460	;DTE20 11 TELLS 10 THE SIZE OF A TO10 TRANSFER
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 5
	KLDCP PAL[KL,SYS]	Page 4 	

					;KLDCPU UTILITY PROGRAM PARAMETERS
					
					;UTILITY IDENTIFICATION
					
		003004			PID=	3004	;PROGRAM NAME
		003010			PDVER=	3010	;DEC VERSION
		003012			PMVER=	3012	;MCN VERSION
					
					;UTILITY SUB-PROGRAM DISPATCH ADDRESSES
					
		003020			PTABLE=	3020	;START OF TABLE
					
		003020			RXCOPY=	3020	;RX11/RX01 FLOPPY COPY PROGRAM
		003022			DTCOPY=	3022	;TC11 DECTAPE COPY PROGRAM
		003024			WFILE=	3024	;WRITE FILE FROM DTA/RX TO RP04 PROGRAM
		003026			TAPT=	3026	;TRANSFER FILE FROM APT10 TO RP04 PROGRAM
		003030			DSKDIR=	3030	;RP04 DISK DIRECTORY
		003032			REMOTE=	3032	;REMOTE TELETYPE COMMUNICATIONS
		001000			XMEMSZ==512.	;#OF K OF PDP-10 MEMORY TO ZERO IN MZ 0,-1 COMMAND
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 6
	KLDCP PAL[KL,SYS]	Page 5 	

					FUQ::		;THIS IS HERE TO AVOID GETTING A "LOCAL TAG BEFORE
							;FIRST LABEL" ERROR MESSAGE FROM PALX.
							;(THERE ARE MACRO DEFINITIONS WITH LOCAL TAGS IN THEM)
					
					;INSERT THE REST OF KLDCP
					
								;Parameters file
					.INSRT	PRM11.PAL
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 7
	PRM11 PAL[KL,SYS]	Page 1 	

				COMMENT ⊗   VALID 00044 PAGES
				C REC  PAGE   DESCRIPTION
				C00001 00001
				C00005 00002	.SBTTL	*PRM11* DECSYSTEM10 PDP-11 PROGRAM/SUBROUTINE PARAMETERS, 4-AUG-75
				C00007 00003	.SBTTL	EMT DEFINITIONS
				C00010 00004	TELETYPE OUTPUT DEFINITIONS
				C00013 00005	MISCELLANEOUS FUNCTIONS
				C00016 00006	COMMUNICATION ROUTINES
				C00019 00007	DFXCT=	EMT!114	DIAGNOSTIC FUNCTION EXECUTE
				C00021 00008	.SBTTL	MACRO DEFINITIONS
				C00023 00009	BASIC MACROS
				C00024 00010	.MACRO	SL	REG,NUM
				C00025 00011	STANDARD PROGRAM ASSIGNMENTS
				C00027 00012	BIT ASSIGNMENTS
				C00028 00013	CHARACTERS USED
				C00030 00014	.SBTTL 	DTE20 DEVICE REGISTER AND BIT DEFINITIONS, 4-JUNE-75
				C00033 00015	BIT ASSIGNMENTS FOR 10/11 INTERFACE REGISTERS
				C00036 00016	BIT ASSIGNMENTS FOR DIAG2 (WRITE)
				C00038 00017	BIT ASSIGNMENTS FOR STATUS (WRITE)
				C00041 00018	CLOCK CONTROL FUNCTIONS
				C00043 00019	CRAM FUNCTIONS
				C00045 00020	DATA PATH CONTROL FUNCTIONS
				C00046 00021	.SBTTL	KL10 EBOX MACRO DEFINITIONS, 4-JUNE-75
				C00048 00022	MACRO  TO GENERATE A RIGHT JUSTIFIED 3-BYTE VALUE
				C00050 00023	THIS IS A MACRO TO WAIT FOR A DONE FLAG
				C00052 00024	.SBTTL	*BBD*	DTE20 DEVICE REGISTER AND BIT DEFINITIONS, 2-JAN-75
				C00055 00025	 THE FOLLOWING MACRO (DTEVEC) DYNAMICLY COMPUTES THE INTERRUPT
				C00058 00026	BIT ASSIGNMENTS FOR DIAG1 (WRITE)
				C00060 00027	BIT ASSIGNMENTS FOR STATUS (WRITE)
				C00062 00028	 FUNCTION SELECT CODES
				C00064 00029	READ0	=110	 PI    (READ STATUS 0)
				C00065 00030	.SBTTL	*BBD*	KL10 EBOX MACRO DEFINITIONS, 4-MAR-75
				C00067 00031	MACRO  TO GENERATE A RIGHT JUSTIFIED 3-BYTE VALUE
				C00069 00032	THIS IS A MACRO TO WAIT FOR A DONE FLAG
				C00071 00033	.SBTTL	DEVICE SYMBOL DEFINITIONS, 4-JUNE-75
				C00074 00034	.SBTTL	KW11 DEVICE REGISTERS AND BIT DEFINITIONS, 4-JUNE-75
				C00075 00035	.SBTTL	DL11 DEVICE REGISTERS AND BIT DEFINITIONS, 4-JUNE-75
				C00078 00036	.SBTTL	DH11 DEVICE REGISTERS AND BIT DEFINITIONS, 4-JUNE-75
				C00081 00037	 BIT DEFINITIONS FOR "DHLPR"- LINE PARAMETER REGISTER.
				C00083 00038	.SBTTL	TA11 (CASSETTE) DEVICE REGISTER AND BIT DEFINITIONS, 4-JUNE-75
				C00085 00039	.SBTTL	RX11/RX01 (FLOPPY) REGISTERS AND BIT DEFINITIONS, 22-JULY-75
				C00087 00040	.SBTTL	TC11 (DECTAPE) DEVICE REGISTERS AND BIT DEFINITIONS, 4-JUNE-75
				C00089 00041	.SBTTL	RH11/RP04 REGISTER AND BIT DEFINITIONS, 4-JUNE-75
				C00092 00042	.SBTTL	LP20 REGISTER AND BIT DEFINITIONS, 27-JUNE-75
				C00095 00043	.SBTTL EN11 - PDP11/ETHERNET INTERFACE MODULE DEVICE REGISTERS ETC.
				C00096 00044	DSKDMP BOOTSTRAP PARAMETERS
				C00097 ENDMK
					C⊗;
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 8
	PRM11 PAL[KL,SYS]	Page 2 	*PRM11* DECSYSTEM10 PDP-11 PROGRAM/SUBROUTINE PARAMETERS, 4-AUG-75

					.SBTTL	*PRM11* DECSYSTEM10 PDP-11 PROGRAM/SUBROUTINE PARAMETERS, 4-AUG-75
					
					;PROGRAM CONTROL SWITCHES
					
		100000			ABORT=	100000		;ABORT AT PROGRAM PASS COMPLETION
					
		040000			RSTART=	40000		;RESTART TEST
		020000			TOTALS=	20000		;PRINT TEST TOTALS
		010000			NOPNT=	10000		;INHIBIT ALL PRINT OUT (EXCEPT FORCED)
					
		004000			PNTLPT=	4000		;PRINT ON LINE-PRINTER
		002000			DING=	2000		;RING TTY BELL ON ERROR
		001000			LOOPER=	1000		;LOOP ON ERROR
					
		000400			ERSTOP= 400		;HALT ON ERROR
		000200			PALERS=	200		;PRINT ALL ERRORS
		000100			RELIAB=	100		;RELIABILITY RUN MODE
					
		000040			TXTINH=	40		;TEXT INHIBIT
		000020			INHPAG=	20		;INHIBIT PAGING (PDP-10)
		000010			MODDVC=	10		;MODIFY DEVICE CODE (PDP-10)
					
		000004			INHCSH=	4		;INHIBIT CACHE (PDP-10)
		000002			OPRSEL=	2		;OPERATOR SELECTION
		000001			CHAIN=	1		;CHAIN CONTROL SWITCH
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 9
	PRM11 PAL[KL,SYS]	Page 3 	EMT DEFINITIONS

					.SBTTL	EMT DEFINITIONS
					;OPERATOR DEFINITION - SUBROUTINE CALLS
					
		104000			FATAL=	EMT!0	;FATAL PROGRAMMING ERROR.
		104001			ERRHLT=	EMT!1	;PROGRAM HALT, ONLY IF "ERSTOP" SWITCH SET
		104002			PRGHLT=	EMT!2	;PROGRAM HALT, DON'T CHECK SWITCH
		104003			RUNLP=	EMT!3	;CONSOLE IDLE RUN LOOP
		104226			DFLEGAL=EMT!226	;DIAGNOSTIC FUNCTION LEGALITY CHECK
					
					;TELETYPE INPUT DEFINITIONS
					; *** CALL SEQUENCE ***
					;  TT----
					;  RETURN, C BIT SET FOR NO/ERROR RESPONSE
					
		104004			TTILIN=	EMT!4	;READ TTY LINE INPUT INTO BUFFER
		104224			TTILNW=	EMT!224	;READ TTY LINE INPUT, WAIT FOREVER
		104225			TTICCL=	EMT!225	;PROCESS TTY INPUT FROM INDIRECT CCL BUFFER
		104005			TTICHR=	EMT!5	;INPUT A CHARACTER FROM BUFFER
		104144			TTBACK=	EMT!144	;BACKUP INPUT POINTER
		104006			TTLOOK=	EMT!6	;LOOK FOR A TTY INPUT
		104007			TTIOCT=	EMT!7	;INPUT AN OCTAL NUMBER FROM BUFFER
		104010			TTCOCT=	EMT!10	;INPUT & CHECK OCTAL, RTN IF OK
		104200			TTOCTE=	EMT!200	;INPUT EVEN OCTAL NUMBER
		104011			TTIDEC=	EMT!11	;INPUT A DECIMAL NUMBER FROM BUFFER
		104012			TTIYES=	EMT!12	;ASK YES-NO, N BIT ON NO, C BIT SET ON ERROR
		104013			TTALTM=	EMT!13	;ALT-MODE CHECK, C BIT SET IF NON-ALT-MODE
		104014			TTI36=	EMT!14	;READ 36 DIGIT NUMBER FROM BUFFER
		104015			TTIBRK=	EMT!15	;GET NUMBER INPUT BREAK CHARACTER
		104016			TTISDL=	EMT!16	;SPACE DELETE, C BIT SET ON NON-NUMBER
		104017			TTISDO=	EMT!17	;SPACE DELETE & OCTAL INPUT, RTN IF OK
		104020			TTIS36=	EMT!20	;SPACE DELETE & 36BIT INPUT, RTN IF OK
		104021			TTICRA=	EMT!21	;INPUT C-RAM ADDRESS
		104022			TTITRM=	EMT!22	;CHECK INPUT TERMINATOR, RTN IF OK
		104023			TTBTRM=	EMT!23	;BACKUP, THEN "
		104201			TTERM=	EMT!201	;NUMBER TERMINATION CHECK, C BIT SET IF ERROR
		104217			TTPINI=	EMT!217	;INITIALIZE INPUT & OUTPUT BUFFER POINTERS
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 10
	PRM11 PAL[KL,SYS]	Page 4 	EMT DEFINITIONS

					;TELETYPE OUTPUT DEFINITIONS
					; *** CALL SEQUENCE ***
					;  MOV ARG,R0		;IF CALL REQUIRES AN ARGUMENT
					;  P-----
					
		104024			PNTAL=	EMT!24	;PRINT ASCII LINE, ADDRESS IN R0
		104025			$PMSG=	EMT!25	;PRINT MESSAGE, TRAILING PARAMETER
		104026			$PMSGR=	EMT!26	;PRINT MESSAGE, CONDITIONAL ON "RPTFLG"
		104027			PNTCHR=	EMT!27	;PRINT ASCII CHARACTER IN R0
		104214			PNTCI=	EMT!214	;PRINT CHAR IMMEDIATE, TRAILING CHARS
		104030			PNTNBR=	EMT!30	;PRINT NUMBER
		104031			PCRLF=	EMT!31	;PRINT CR-LF
		104032			PSPACE=	EMT!32	;PRINT A SPACE
		104033			PSLASH=	EMT!33	;PRINT A SLASH
		104034			PCOMMA=	EMT!34	;PRINT A COMMA
		104227			PTAB=	EMT!227	;PRINT A TAB
		104035			PNTOCT=	EMT!35	;PRINT OCTAL NUMBER IN R0
		104036			PNTOCS=	EMT!36	;PRINT OCTAL IN R0, SUPPRESS LEADING ZEROS
		104037			PNTDEC=	EMT!37	;PRINT DECIMAL NUMBER IN R0
		104040			PNT18=	EMT!40	;PRINT LOWER 18 OF 36 BIT NUMBER
		104041			PNT23=	EMT!41	;PRINT LOWER 23 BITS OF 36 BIT NUMBER
		104041			PNT22=	EMT!41	; " OLD PNT23 "
		104042			PNT36=	EMT!42	;PRINT 36 BIT NUMBER, ADDRESS IN R0
		104134			PNT36B=	EMT!134	;PRINT 36 BIT NUMBER IN BINARY
		104137			PNTADR=	EMT!137	;PRINT PDP-10 ADDRESS
		104043			PFORCE=	EMT!43	;SET FORCED PRINTOUT FLAG
		104044			PNORML=	EMT!44	;CLEAR FORCED PRINTOUT FLAG
		104045			PBELL=	EMT!45	;DING THE TTY BELL
		104046			PNTODC=	EMT!46	;PRINT SPECIFIED OCTAL DIGITS
		104047			PNTODT=	EMT!47	;PRINT SPECIFIED DIGITS, TRAILING PARAMETER
					
		104151			PRINTT=	EMT!151	;PRINT, TTY OUTPUT
		104152			PTTY=	EMT!152	;PRINT, TTY DRIVER
		104153			PLPT=	EMT!153	;PRINT, LPT DRIVER
		104154			PLDBUF=	EMT!154	;PRINT, LOAD BUFFER
					
		104177			PNTBAK=	EMT!177	;PRINT, BACKUP OUTPUT INSERTION POINTER
					
		104215			PNTRST=	EMT!215	;PRINT, OUTPUT POINTERS RESET
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 11
	PRM11 PAL[KL,SYS]	Page 5 	EMT DEFINITIONS

					;MISCELLANEOUS FUNCTIONS
					
		104050			REGSAV=	EMT!50	;SAVE R0 THRU R5
		104051			REGRST=	EMT!51	;RESTORE R0 THRU R5
		104053			SHIFTR=	EMT!53	;SHIFT R0 RIGHT, TRAILING PARAMETER
		104054			SHIFTL=	EMT!54	;SHIFT R0 LEFT, TRAILING PARAMETER
		104146			PROL36=	EMT!146	;ROTATE LEFT 36 BITS
		104055			SETFLG=	EMT!55	;SET -1 TO FLAG, TRAILING PARAMETER
		104072			MULTPY=	EMT!72	;MULTIPLY
		104056			TDELAY=	EMT!56	;SMALL DELAY
		104057			SWITCH=	EMT!57	;READ THE SWITCH REGISTER, RETURNED IN R0
		104060			SWTSAM=	EMT!60	;RETURN PRESENT STORED SWITCHES IN R0
					
		104061			EOP=	EMT!61	;END OF PASS ROUTINE, RETURNS IF NOT COMPLETED
		104062			ERREOP=	EMT!62	;ERROR END OF PASS
		104063			EOPSET=	EMT!63	;SET END OF PASS PRINTOUT INTERVAL
					
					;DEVICE ROUTINES
					
		104206			NAMEXT=	EMT!206	;FILE NAME.EXT PROCESS
		104207			DTAFILE=EMT!207	;DECTAPE FILE SELECTION
		104210			RPFILE=	EMT!210	;RP04 FILE SELECTION
		104155			R50UPK=	EMT!155	;RAD50 TO ASCII UNPACK
		104165			ASCR50=	EMT!165	;ASCII TO RAD50 CONVERSION
		104156			DTINIT=	EMT!156	;DECTAPE INITIALIZATION
		104157			RPINIT=	EMT!157	;RP04 INITIALIZATION
		104166			RPLOAD=	EMT!166	;RP04 LOAD PACK
		104160			DVDATA=	EMT!160	;DEVICE DATA BLOCK READ
		104211			DTRDFL=	EMT!211	;DECTAPE READ FILE
		104212			DTWTFL=	EMT!212	;DECTAPE WRITE FILE
		104213			DTBASE=	EMT!213	;RETURN DECTAPE PARAMETER BASE ADDRESS
		104161			DTREAD=	EMT!161	;DECTAPE READ
		104205			DTWRT=	EMT!205	;DECTAPE WRITE
		104167			RPFIND=	EMT!167	;RP04 FIND FILE
		104170			RPLKUP=	EMT!170	;RP04 FILE DIRECTORY LOOKUP
		104171			RPRDFL=	EMT!171	;RP04 READ FILE
		104172			RPWRFL=	EMT!172	;RP04 WRITE FILE
		104162			RPREAD=	EMT!162	;RP04 READ
		104173			RPWRIT=	EMT!173	;RP04 WRITE
		104174			RPADDR=	EMT!174	;RP04 ADDRESS CALCULATION
		104175			RPBASE=	EMT!175	;RETURN RP04 PARAMETER BLOCK BASE ADDRESS
		104237			RPERROR=EMT!237	;RP04 ERROR REPORTER
		104163			DVFRAM=	EMT!163	;DEVICE DATA FRAME READ
		104164			DVWRD=	EMT!164	;DEVICE WORD READ
		104230			RXFILE=	EMT!230	;RX11/RX01 FLOPPY FILE SELECTION
		104231			RXINIT=	EMT!231	;  FLOPPY INITIALIZATION
		104232			RXRDFL=	EMT!232	;  FLOPPY READ FILE
		104233			RXWTFL=	EMT!233	;  FLOPPY WRITE FILE
		104234			RXBASE=	EMT!234	;  FLOPPY PARAMETER BLOCK BASE ADDRESS
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 12
	PRM11 PAL[KL,SYS]	Page 5.1 	EMT DEFINITIONS

		104235			RXREAD=	EMT!235	;  FLOPPY READ
		104236			RXWRT=	EMT!236	;  FLOPPY WRITE
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 13
	PRM11 PAL[KL,SYS]	Page 6 	EMT DEFINITIONS

					;COMMUNICATION ROUTINES
					
					.IF DF MONASB
					COMCMD=	EMT!220	;COMMUNICATIONS COMMAND
					COMRTRY=EMT!221	;COMMUNICATIONS COMMAND RETRY
					COMENQ=	EMT!222	;COMMUNICATIONS ENQUIRY
					COMEOT=	EMT!223	;COMMUNICATIONS END OF TRANSMISSION
					COMLIN=	EMT!64	;COMMUNICATIONS LINE INPUT
					COMSND=	EMT!65	;COMMUNICATIONS LINE OUTPUT
					COMACK=	EMT!66	;COMMUNICATIONS ACKNOWLEDGE
					COMNAK=	EMT!67	;COMMUNICATIONS NEGATIVE ACKNOWLEDGE
					COMCLR=	EMT!70	;COMMUNICATIONS CLEAR
					COMCTL=	EMT!71	;COMMUNICATIONS CONTROL SEQUENCE
					.ENDC
					
					;KL10 ROUTINES
					
		104073			WCRAM=	EMT!73	;WRITE IN TO C-RAM
		104074			RCRAM=	EMT!74	;READ THE C-RAM
		104075			WWADR=	EMT!75	;WRITE C-RAM ADDRESS
		104203			MICNUL=	EMT!203	;C-RAM FILL WITH 0'S
		104204			MICFIL=	EMT!204	;C-RAM FILL WITH 1'S
					
		104076			MRESET=	EMT!76	;MASTER RESET
					
		104145			TENSW=	EMT!145	;PDP-10 SWITCHES
					
		104077			TENSP=	EMT!77	;TURN OFF TEN RUNNING
					
		104176			TENCHR=	EMT!176	;PDP-10 LAST TYPED CHARACTER
					
		104100			SM=	EMT!100	;START MACHINE
		104101			EXCT=	EMT!101	;EXECUTE PDP10 INSTR, REQUIRES SM
		104102			LODAR=	EMT!102	;SPECIAL AR LOAD FOR EXCT AND MBOX TEST
		104147			SETMPH=	EMT!147	;SET M-BOX PHASE
					
		104135			ECLOK=	EMT!135	;E BOX CLOCK
		104136			ESYNC=	EMT!136	;E BOX SYNC
					
		104103			EXAM=	EMT!103	;EXAMINE 10 MEMORY
		104104			EXAMT=	EMT!104	;EXAMINE 10 MEMORY, TRAILING PARAMETERS
		104105			DPOS=	EMT!105	;DEPOSIT INTO 10 MEMORY
		104106			DPOST=	EMT!106	;DEPOSIT INTO 10 MEMORY, TRAILING PARAMETERS
		104107			DPOSVR=	EMT!107	;DEPOSIT AND VERIFY 10 MEMORY
		104110			DPOSVT=	EMT!110	;DEPOSIT AND VERIFY 10 MEMORY, TRAILING PARAMETERS
		104111			D10MON=	EMT!111	;DEPOSIT -1 INTO 10 FLAG WORD
		104112			D10ZRO=	EMT!112	;PDP-10 MEMORY ZERO
					
		104052			CMPR36=	EMT!52	;COMPARE 5 BYTE 36-BIT WORD
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 14
	PRM11 PAL[KL,SYS]	Page 6.1 	EMT DEFINITIONS

					
		104113			DTEBAS=	EMT!113	;RETURN DTE20 BASE ADDRESS
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 15
	PRM11 PAL[KL,SYS]	Page 7 	EMT DEFINITIONS

		104114			DFXCT=	EMT!114	;DIAGNOSTIC FUNCTION EXECUTE
		104115			DFXCTT=	EMT!115	;DF EXECUTE, TRAILING PARAMETER
					
		104116			DFRD=	EMT!116	;DIAGNOSTIC FUNCTION READ
		104140			DFRDT=	EMT!140	;DF READ, TRAILING PARAMETER
		104117			DFRDMV=	EMT!117	;DIAGNOSTIC FUNCTION READ & MOVE
					
		104120			DFWRT=	EMT!120	;DIAGNOSTIC FUNCTION WRITE
		104141			DFWRTT=	EMT!141	;DF WRITE, TRAILING PARAMETERS
		104121			DFWIR=	EMT!121	;DIAGNOSTIC FUNCTION WRITE IR
					
		104122			DFSCLK=	EMT!122	;DIAGNOSTIC FUNCTION, SINGLE STEP CLOCK
					
		104123			DFPC=	EMT!123	;DIAGNOSTIC FUNCTION READ PC
		104124			DFVMA=	EMT!124	;DIAGNOSTIC FUNCTION READ VMA
		104125			DFADB=	EMT!125	;DIAGNOSTIC FUNCTION READ ADDRESS BREAK
		104150			DFVMAH=	EMT!150	;DIAGNOSTIC FUNCTION READ VMA HELD
					
		104126			RDRAM=	EMT!126	;READ D-RAM
		104127			WDRAM=	EMT!127	;WRITE D-RAM
		104130			DRAMAD=	EMT!130	;SELECT D-RAM ADDRESS
					
		104202			CLKPRM=	EMT!202	;RETURN ADDRESS OF "CLKDFL" WORD
					
		104131			BURST=	EMT!131	;BURST M-BOX CLOCK
					
		104132			PNTCPU=	EMT!132	;PRINT CPU, C-RAM & REGISTERS
					
		104142			PNTCRM=	EMT!142	;PRINT C-RAM, LOGICAL FIELD FORMAT
					
		104143			PNTDRM=	EMT!143	;PRINT D-RAM, LOGICAL FIELD FORMAT
					
		104133			PRGCMD=	EMT!133	;PROGRAM COMMAND
					
		104216			PRGNPT=	EMT!216	;PROGRAM COMMAND, NO PRINT
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 16
	PRM11 PAL[KL,SYS]	Page 8 	MACRO DEFINITIONS

					.SBTTL	MACRO DEFINITIONS
					
		145030			.IIF P2,	$$CLIT==$$LITT	;LITERAL STORAGE ASSIGNMENT
					.IELSE		$$CLIT==2000
					
					.MACRO	PMSG	$ARG
						  $PMSG
						  $$CLIT
							.NLIST	SRC
							$$CLC=.
							.=$$CLIT
							.ASCIZ	↔$ARG↔
							$$CLIT=.
							.=$$CLC
							.LIST	SRC
					.ENDM
					
					.MACRO	PMSGR	$ARG
						  $PMSGR
						  $$CLIT
							.NLIST	SRC
							$$CLC=.
							.=$$CLIT
							.ASCIZ	↔$ARG↔
							$$CLIT=.
							.=$$CLC
							.LIST	SRC
					.ENDM
					
					.MACRO	PNTMSG	$ARG
						  MOV	#$$CLIT,R0
						  PNTAL
							.NLIST	SRC
							$$CLC=.
							.=$$CLIT
							.ASCIZ	↔$ARG↔
							.EVEN
							$$CLIT=.
							.=$$CLC
							.LIST	SRC
					.ENDM
					
					.MACRO	EXIT
						  JMP	$EXIT
					.ENDM
					
					.MACRO	EXITSKP
						  JMP	$EXITS
					.ENDM
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 17
	PRM11 PAL[KL,SYS]	Page 8.1 	MACRO DEFINITIONS

					
					.MACRO	EXITERR
						  JMP	$EXITE
					.ENDM
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 18
	PRM11 PAL[KL,SYS]	Page 9 	MACRO DEFINITIONS

					;BASIC MACROS
					
					.MACRO	PUSH	A
							.NLIST	SRC
						  .IRP	B,<A>
						  MOV	B,-(SP)	;PUSH B ON STACK
						  .ENDM
							.LIST	SRC
					.ENDM
					
					.MACRO	POP	A
							.NLIST	SRC
						  .IRP	B,<A>
						  MOV	(SP)+,B	;POP STACK INTO B
						  .ENDM
							.LIST	SRC
					.ENDM
					
					.MACRO	MULT	SOURCE,REG
						  PUSH	SOURCE
						  PUSH	REG
						  MULTPY
						  POP	REG
							.NTYPE	X,REG
							.IF	EQ X&1
							.IFT
						  POP	REG+1
							.IFF
						  INC	SP
						  INC	SP
							.ENDC
					.ENDM
					
					.MACRO	.LIT	$LTAG,$LARG
							$$CLC=.
							.=$$CLIT
							.EVEN
						  $LTAG=.
						  .IIF	B <$LARG>,0
						  .IIF	NB <$LARG>,$LARG
							.EVEN
							$$CLIT=.
							.=$$CLC
					.ENDM
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 19
	PRM11 PAL[KL,SYS]	Page 10 	MACRO DEFINITIONS

					.MACRO	SL	REG,NUM
							.NLIST	SRC
							.IF	GT NUM-7
							.IFT
						  SWAB	REG
							.REPT	NUM-8.
						  ASL	REG
							.ENDR
							.IFF
							.REPT	NUM
						  ASL	REG
							.ENDR
							.ENDC
							.LIST	SRC
					.ENDM
					
					.MACRO	SR	REG,NUM
							.NLIST	SRC
							.IF	GT NUM-7
							.IFT
						  SWAB	REG
							.REPT	NUM-8
						  ASR	REG
							.ENDR
							.IFF
							.REPT	NUM
						  ASR	REG
							.ENDR
							.ENDC
							.LIST	SRC
					.ENDM
					
					.MACRO	EXOR	REG,DESTIN,SCRTCH
							.IF	NB SCRTCH
							.IFT
						  MOV	REG,SCRTCH
						  BIC	DESTIN,SCRTCH
						  BIC	REG,DESTIN
						  BIS	SCRTCH,DESTIN
							.IFF
						  MOV	REG,-(SP)
						  BIC	DESTIN,(SP)
						  BIC	REG,DESTIN
						  BIS	(SP)+,DESTIN
							.ENDC
					.ENDM
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 20
	PRM11 PAL[KL,SYS]	Page 11 	MACRO DEFINITIONS

					;STANDARD PROGRAM ASSIGNMENTS
					
					.IIF NDF STACK,	STACK==157776		;INITIAL STACK POINTER
					.IIF NDF CONSOL,CONSOL==100000		;CONSOLE START ADDRESS
					
		000001			CBIT=	1		;CARRY BIT
		000010			NBIT=	10		;NEGATIVE BIT
		000004			ZBIT=	4		;ZERO BIT
		000002			VBIT=	2		;OVERFLOW BIT
		000020			TBIT=	20		;TRAP BIT
					
					;REGISTER DEFINITIONS
					
		000000			R0=	%0		;GENERAL REGISTERS
		000001			R1=	%1
		000002			R2=	%2
		000003			R3=	%3
		000004			R4=	%4
		000005			R5=	%5
		000006			R6=	%6
		000006			SP=	%6		;STACK POINTER
		000007			PC=	%7		;PROGRAM COUNTER
					
					;PDP11/40 STANDARD TRAP VECTOR ASSIGNMENTS
					
		000000			RESVED=	0		;RESERVED
		000004			ERRVEC=	4		;TIME OUT, BUS ERROR
		000010			RESVEC=	10		;RESERVED INSTRUCTION
		000014			TRTVEC=	14		;BREAK POINT VECTOR
		000014			TBITVEC=14
		000014			BPTVEC= 14
		000020			IOTVEC=	20		;IOT TRAP VECTOR
		000024			PWRVEC=	24		;POWER FAIL TRAP VECTOR
		000030			EMTVEC=	30		;EMT TRAP VECTOR
		000034			TRAPVEC=34		;"TRAP" TRAP VECTOR
		000060			TKVEC=	60		;TTY KEYBOARD VECTOR
		000064			TPVEC=	64		;TTY PRINTER VECTOR
		000260			TA11=	260		;CASSETTE TAPE READER
		000214			TC11=	214		;DECTAPE VECTOR
					
					;PDP11/40 STANDARD ADDRESS ASSIGNMENTS
					
		177776			PS=	177776		;CPU STATUS
		177774			STKLMT=	177774		;STACK LIMIT
		177570			SWR=	177570		;CONSOLE SWITCH REGISTER
		177566			TTODBR=	177566		;TTY OUT DBR
		177564			TTOCSR=	177564		;TTY OUT CSR
					
		177562			TTIDBR=	177562		;TTY IN DBR
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 21
	PRM11 PAL[KL,SYS]	Page 11.1 	MACRO DEFINITIONS

		177560			TTICSR=	177560		;TTY IN CSR
					
		174200			XORCR=	174200
		174202			XORSR=	174202
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 22
	PRM11 PAL[KL,SYS]	Page 12 	MACRO DEFINITIONS

					;BIT ASSIGNMENTS
					
		000001			BIT00=	1
		000001			BIT0=	BIT00
		000002			BIT01=	2
		000002			BIT1=	BIT01
		000004			BIT02=	4
		000004			BIT2=	BIT02
		000010			BIT03=	10
		000010			BIT3=	BIT03
		000020			BIT04=	20
		000020			BIT4=	BIT04
		000040			BIT05=	40
		000040			BIT5=	BIT05
					
		000100			BIT06=	100
		000100			BIT6=	BIT06
		000200			BIT07=	200
		000200			BIT7=	BIT07
		000400			BIT08=	400
		000400			BIT8=	BIT08
					
		001000			BIT09=	1000
		001000			BIT9=	BIT09
		002000			BIT10=	2000
		004000			BIT11=	4000
					
		010000			BIT12=	10000
		020000			BIT13=	20000
		040000			BIT14=	40000
					
		100000			BIT15=	100000
					
					;PRIORITY ASSIGNMENTS
					
		000000			PR0= 000
		000040			PR1= 040
		000100			PR2= 100
		000140			PR3= 140
		000200			PR4= 200
		000240			PR5= 240
		000300			PR6= 300
		000340			PR7= 340
					
		000140			.IIF DF SAILVR, CPUPR==PR3	;CLOCK AND DL11E INTERRUPTS ARE PERMITTED
					.IIF NDF SAILVR, CPUPR==PR7
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 23
	PRM11 PAL[KL,SYS]	Page 13 	MACRO DEFINITIONS

					;CHARACTERS USED
					
		000030			MSWCHR=	030		; MONITOR TO "KLDCP" SWITCH CHAR, CONTROL X
		000000			TEXTERM=0		; TERMINATES TEXT
		000011			TAB=	11		; TAB
		000011			CNTRLI=	11		; CONTROL-I (TAB)
		000012			LF=	12		; LINE FEED
		000013			VT=	13		; VERTICAL TAB
		000014			FF=	14		; FORM FEED
		000015			CR=	15		; CARRIAGE RETURN
		000007			BELL=	7		; BELL
		000040			BLANK=	40		; BLANK (SPACE)
		000040			SPACE=	40		; SPACE
		000054			COMMA=	54		; COMMA
		000057			SLASH=	57		; SLASH
		000134			BKSLH=	134		; BACK SLASH
		000137			BKARW=	137		; BACK ARROW
		000023			XOFF=	023		; X-OFF		(CONTROL S)
		000021			XON=	021		; X-ON		(CONTROL Q)
		000017			CNTRLO=	017		; CONTROL O
		000025			CNTRLU=	025		; CONTROL U
		000001			CNTRLA=	001		; CONTROL A
		000003			CNTRLC=	003		; CONTROL C
		000004			CNTRLD=	004		; CONTROL D
		000013			CNTRLK=	013		; CONTROL K
		000014			CNTRLL=	14		; CONTROL L
		000022			CNTRLR=	022		; CONTROL R
		000024			CNTRLT=	024		; CONTROL T
		000030			CNTRLX=	030		; CONTROL X
		000032			CNTRLZ=	032		; CONTROL Z
		000177			RUBOUT=	177		; RUB OUT
		000033			ALTMOD=	33		; ALTMODE
		000027			ETB=	27		; END OF TRANSMISSION BLOCK	(CONTROL W)
					.IF NDF SAILVR
					NULL=	026		; NULL FILLER CHAR
					.IFF
		000000			NULL=	000
					.ENDC
		000001			SYN=	001		; COMMUNICATIONS SYNC CHAR (CONTROL A)
					
					;.NLIST
					.IF	DF DTEASB
					;.LIST
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 24
	PRM11 PAL[KL,SYS]	Page 14 	DTE20 DEVICE REGISTER AND BIT DEFINITIONS, 4-JUNE-75

					.SBTTL 	DTE20 DEVICE REGISTER AND BIT DEFINITIONS, 4-JUNE-75
					
		174400			DTEADR=	174400		;ADDRESS OF (FIRST) DTE20 DEVICE REGISTER BLOCK
		000040			DTESIZ=	000040		;SPACING BETWEEN CONSECUTIVE DTE20'S
		000004			DTEMAX=	4		;MAXIMUM NUMBER OF DTE20'S ON ONE PDP-11
		000005			DTESZS=	5		;SHIFT TO CONVERT DTE ADDRESS TO DTE #
					
					.IF	DF DTEDEF
					;OFFSETS FROM THE BASE OF THE DTE20 DEVICE REGISTER BLOCK
					;TO SPECIFIC 10/11 INTERFACE RAM LOCATIONS AND REGISTERS.
					
					; THE FIRST 12 REGISTERS ARE NOT INITIALIZED BY "INIT" (BECAUSE THEY ARE IN RAMS)
					
		000000			DLYCNT=	00		;DELAY COUNT			(ADDRESS XXXX00)
		000002			DEXWD3=	02		;DEPOSIT OR EXAMINE WORD 3	(ADDRESS XXXX02)
		000004			DEXWD2=	04		;DEPOSIT OR EXAMINE WORD 2	(ADDRESS XXXX04)
		000006			DEXWD1=	06		;DEPOSIT OR EXAMINE WORD 1	(ADDRESS XXXX06)
		000010			TENAD1=	10		;10 ADDRESS WORD 1 FOR DEX	(ADDRESS XXXX10)
		000012			TENAD2=	12		;10 ADDRESS WORD 2 FOR DEX	(ADDRESS XXXX12)
		000014			TO10BC=	14		;TO10 BYTE COUNT		(ADDRESS XXXX14)
		000016			TO11BC=	16		;TO11 BYTE COUNT		(ADDRESS XXXX16)
		000020			TO10AD=	20		;TO10 PDP11 MEMORY ADDRESS	(ADDRESS XXXX20)
		000022			TO11AD=	22		;TO11 PDP11 MEMORY ADDRESS	(ADDRESS XXXX22)
		000024			TO10DT=	24		;TO10 PDP11 DATA WORD		(ADDRESS XXXX24)
		000026			TO11DT=	26		;TO11 PDP11 DATA WORD		(ADDRESS XXXX26)
					
					; THE LAST 4 REGISTERS ARE INITIALIZED BY "INIT" (BECAUSE THEY ARE IN FLIP-FLOPS)
					
		000030			DIAG1=	30		;DIAGNOSTIC WORD 1		(ADDRESS XXXX30)
		000032			DIAG2=	32		;DIAGNOSTIC WORD 2		(ADDRESS XXXX32)
		000034			STATUS=	34		;10/11 INTERFACE STATUS WORD	(ADDRESS XXXX34)
		000036			DIAG3=	36		;DIAGNOSTIC WORD 3		(ADDRESS XXXX36)
					.ENDC
					
					;  THE FOLLOWING ARE THE ADDRESSES OF THE DTE20 INTERRUPT VECTORS
					
		000774			DTEIV0=	774		;INTERRUPT VECTOR FOR DTE20 #0
		000770			DTEIV1=	770		;INTERRUPT VECTOR FOR DTE20 #1
		000764			DTEIV2=	764		;INTERRUPT VECTOR FOR DTE20 #2
		000760			DTEIV3=	760		;INTERRUPT VECTOR FOR DTE20 #3
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 25
	PRM11 PAL[KL,SYS]	Page 15 	DTE20 DEVICE REGISTER AND BIT DEFINITIONS, 4-JUNE-75

					;BIT ASSIGNMENTS FOR 10/11 INTERFACE REGISTERS
					
					;BIT ASSIGNMENTS FOR TENAD1
					
		100000			PHYS=	BIT15		;EXAMINE/DEP PHYSICAL ADDRESS
		060000			USEVIR=	BIT14!BIT13	;EX/DP USER VIRTUAL ADDRESS
		040000			XUPT=	BIT14		;EX/DP VIA USER PROCESS TABLE
		020000			EXVIRT=	BIT13		;EX/DP EXEC VIRTUAL ADDRESS
		010000			DEP=	BIT12		;MODE BIT FOR DEPOSIT (0=EXAMINE)
		004000			PRTOFF=	BIT11		;PROTECT OFF
		000000			XEPT=	0		;EX/DP VIA EXEC PROCESS TABLE
					
					;BIT ASSIGNMENTS FOR TO11BC
					
		100000			INT10=	BIT15		;SET DONE AND INTERRUPT BOTH 10 AND 11
		040000			ZSTOP=	BIT14		;STOP ON NULL (ZERO) CHARACTER
		020000			BYTE2=	BIT13		;TWO EIGHT BIT BYTES PER WORD
		020000			TO11BM=	BIT13		;TO-11 BYTE MODE
					
					;BIT ASSIGNMENTS FOR DIAG1 (WRITE)
					
		100000			DS00=	BIT15		;DIAGNOSTIC STATUS
		040000			DS01=	BIT14		; "
		020000			DS02=	BIT13		; "
		010000			DS03=	BIT12		; "
		004000			DS04=	BIT11		; "
		002000			DS05=	BIT10		; "
		001000			DS06=	BIT9		; "
		000200			DFUNC=	BIT7		;DOING DIAGNOSTIC FUNCTION (DFRD,DFWRT,DFXCT)
		000060			PULSE=	BIT4!BIT5	;SINGLE PULSE THE 10/11 CLOCK (ALSO SETS
								;10/11 DIAGNOSTIC MODE)
		000001			DCOMST=	BIT0		;DIAGNOSTIC COMMAND START
		000001			DCSRT=	BIT0		;DIAGNOSTIC COMMAND START (NEW NAME FOR DCOMST)
		000004			DSEND=	BIT2		;SEND THE EBUS DURING DIAGNOSTIC FUNCTION
		000010			DIKL10=	BIT3		;KL10 DIAGNOSTIC MODE
		000040			D1011=	BIT5		;10/11 INTERFACE DIAGNOSTIC MODE
					
					;BIT ASSIGNMENTS FOR DIAG1 (READ)
					
		000200			TO10=	BIT7		;INTERFACE MAJOR STATE = TO10 TRANSFER
		000400			DEX=	BIT8		;    "       "     "   = DEPOSIT OR EXAMINE
		000100			TO11=	BIT6		;    "       "     "   = TO11 TRANSFER
		000020			VEC04=	BIT4		;VECTOR INTERRUPT ADDRESS BIT 4
		000010			VEC03=	BIT3		;  "        "        "     "  3
		000004			VEC02=	BIT2		;  "        "        "     "  2
		001000			HALTLP=	BIT9		;EBOX IS IN HALT LOOP
		002000			KLRUN=	BIT10		;RUN FLOP, KL IS EXECUTING INSTRUCTIONS
		004000			ERRSTP=	BIT11		;EBOX CLOCK STOPPED DUE TO ERROR
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 26
	PRM11 PAL[KL,SYS]	Page 16 	DTE20 DEVICE REGISTER AND BIT DEFINITIONS, 4-JUNE-75

					;BIT ASSIGNMENTS FOR DIAG2 (WRITE)
					
		040000			EDONES=	BIT14		;SET EBUS DONE
		000100			DRESET=	BIT6		;PERFORM DIAGNOSTIC CLEAR
					
					;BIT ASSIGNMENTS FOR DIAG2 (READ)
					
					;BIT ASSIGNMENTS FOR DIAG3 (WRITE)
					
		000040			SCD=	BIT5		;SHIFT CAPTURED DATA (PARITY ERROR DATA)
		000020			CDD=	BIT4		;CLEAR DUPE & DURE ERROR FLAGS
		000010			WEP=	BIT3		;WRITE EVEN (BAD) PARITY
		000002			CNUPE=	BIT1		;CLEAR NUPE
		000001			TO10BM=	BIT0		;TO-10 TRANSFER BYTES FROM THE 11
					
					;BIT ASSIGNMENTS FOR DIAG3 (READ)
					
		100000			RFMAD0=	BIT15		;RFM ADDRESS BIT 0
		040000			RFMAD1=	BIT14		; "     "     "  1
		020000			RFMAD2=	BIT13		; "     "     "  2
		010000			RFMAD3=	BIT12		; "     "     "  3
					
					;BIT ASSIGNMENTS FOR DIAG3 (READ)
					
		100000			SWSLFT=	BIT15		;SWAP SELECT LEFT
		040000			CAB08=	BIT14		;CAPTURED UNIBUS ADDRESS BIT 08
		000020			DUPE=	BIT4		;DATO UNIBUS PARITY ERROR
		000004			DURE=	BIT2		;DATO UNIBUS RECIEVER ERROR
		000002			NUPE=	BIT1		;NPR UNIBUS PARITY ERROR
		037000			UPECD=	BIT13!BIT12!BIT11!BIT10!BIT9	;UNIBUS PARITY ERR, CAPTURED DATA
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 27
	PRM11 PAL[KL,SYS]	Page 17 	DTE20 DEVICE REGISTER AND BIT DEFINITIONS, 4-JUNE-75

					;BIT ASSIGNMENTS FOR STATUS (WRITE)
					
		100000			DON10S=	BIT15		;SET TO10 DONE
		040000			DON10C=	BIT14		;CLEAR TO10 DONE
		020000			ERR10S=	BIT13		;SET TO10 ERROR
		010000			ERR10C=	BIT12		;CLEAR TO10 ERROR
		004000			INT11S=	BIT11		;SET 10 REQ INTERRUPT (INTERRUPTS 11)
		002000			INT11C=	BIT10		;CLEAR 10 REQ INTERRUPT (REMOVES INTERRUPT TO 11)
		001000			PERCLR=	BIT9		;CLEAR -11 MEMORY PARITY ERROR
		000400			INT10S=	BIT8		;SET REQUEST 10 INTERRUPT (INTERRUPTS 10)
		000200			DON11S=	BIT7		;SET TO11 DONE
		000100			DON11C=	BIT6		;CLEAR TO11 DONE
		000040			INTRON=	BIT5		;ENABLE DTE20 TO INTERRUPT THE 11
		000020			EBUSPC=	BIT4		;CLEAR EBUS PARITY ERROR
		000010			INTROF=	BIT3		;DISABLE THE DTE20 11-INTERRUPTS
		000004			EBUSPS=	BIT2		;SET EBUS PARITY ERROR
		000002			ERR11S=	BIT1		;SET TO11 ERROR
		000001			ERR11C=	BIT0		;CLEAR TO11 ERROR
					
					;BIT ASSIGNMENTS FOR STATUS (READ)
					
		100000			TO10DN=	BIT15		;TO10 DONE
		020000			TO10ER=	BIT13		;TO 10 ERROR (NPR TIMEOUT OR BUS ERROR)
		010000			RAMIS0=	BIT12		;DATA OUT OF DTE RAM IS ALL 0S (RFM=0)
		004000			TO11DB=	BIT11		;10 REQUESTING 11 INTERRUPT (DOORBELL FROM 10)
		002000			DXWRD1=	BIT10		;DEPOSIT OR EXAMINE WORD ONE
		001000			D11MPE=	BIT9		;-11 MEMORY PARITY ERROR
		000400			TO10DB=	BIT8		;REQUEST 10 INTERRUPT (DOORBELL FROM 11)
		000200			TO11DN=	BIT7		;TO11 DONE
		000100			EBSEL=	BIT6		;E BUFFER SELECT
		000040			NULSTP=	BIT5		;NULL STOP
		000020			BPARER=	BIT4		;EBUS PARITY ERROR
		000010			RM=	BIT3		;THIS DTE20 IN RESTRICTED MODE
		000004			DEXDON=	BIT2		;DEPOSIT OR EXAMINE DONE
		000002			TO11ER=	BIT1		;TO 11 ERROR (NPR TIMEOUT OR BUS ERROR)
		000001			INTSON=	BIT0		;INTERRUPTS ON, DTE20 ENABLED TO INTERRUPT 11
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 28
	PRM11 PAL[KL,SYS]	Page 18 	DTE20 DEVICE REGISTER AND BIT DEFINITIONS, 4-JUNE-75

					;CLOCK CONTROL FUNCTIONS
					
		000000			STPCLK=	000	; STOP CLOCK
		000001			STRCLK=	001	; START CLOCK
		000002			SSCLK=	002	; SINGLE STEP THE MBOX CLOCK
		000003			SECLK=	003	; SINGLE STEP EBOX CLOCK
		000004			CECLK=	004	; CONDITIONAL EBOX CLOCK
		000006			CLRMR=	006	; CLEAR MR RESET
		000007			SETMR=	007	; SET MR RESET
		000005			BRCLK=	005	; BURST THE CLOCK
					
					;CLOCK LOAD FUNCTIONS
					
		000042			LDBRR=	42	; LOAD BURST REGISTER RIGHT HALF
		000043			LDBRL=	43	; LOAD BURST REGISTER LEFT HALF
		000044			LDSEL=	44	; LOAD SOURCE AND RATE SELECTS
		000045			LDDIS=	45	; LOAD EBOX CLOCK DISTRIBUTION REGISTER
		000046			LDCHK1=	46	; LOAD PARITY CHECK REGISTER (ENABLE BAD PARITY STOP)
		000047			LDCHK2=	47	; LOAD EBOX INTERNAL CHECK REGISTER
					
					;DRAM FUNCTIONS
					
		000060			LDRAM1=	60	; LOAD A & B FIELDS EVEN
		000061			LDRAM2=	61	; LOAD A & B FIELDS ODD
		000062			LDRAM3=	62	; LOAD COMMON J1-J4
		000063			LDRJEV=	63	; LOAD PARITY & J8-J10 EVEN
		000064			LDRJOD=	64	; LOAD PARITY & J8-J10 ODD
		000133			DRAMAB=	133	; READ D-RAM A & B
		000135			DRJ710=	135	; READ D-RAM J7-J10
		000134			DRJ1.4=	134	; READ D-RAM J1-J4
					
					;IR DRAM CONTROL
					
		000065			DISIOJ=	65	; DISABLE 7XX & JRST=254
		000066			DISACF=	66	; DISABLE THE IR AC'C
		000067			ENIOJA=	67	; ENABLE 7XX, JRST=254 & IR AC'S
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 29
	PRM11 PAL[KL,SYS]	Page 19 	DTE20 DEVICE REGISTER AND BIT DEFINITIONS, 4-JUNE-75

					;CRAM FUNCTIONS
					
		000057			LCRAM1=	57	; LOAD C-RAM DATA
		000056			LCRAM2=	56
		000055			LCRAM3=	55
		000054			LCRAM4=	54
		000053			LCRAM5=	53
		000052			LCRDAL=	52	; LOAD CRAM ADDRESS LEFT (00-04)
		000051			LCRDAR=	51	; LOAD CRAM ADDRESS RIGHT (05-10)
		000147			RCRAM1=	147	; READ C-RAM DATA
		000146			RCRAM2=	146
		000145			RCRAM3=	145
		000144			RCRAM4=	144
		000141			RCSPEC=	141	; READ C-RAM SPEC
					
					;MISC CONTROL FUNCTIONS
					
		000014			IRLOAD=	14	; LOAD THE IR FROM AD
		000015			DRLTCH=	15	; LOAD D-RAM LATCHES
		000010			CLRRUN=	10	; CLEAR RUN FLIP-FLOP
		000011			SETRUN=	11	; SET RUN FLIP-FLOP
		000012			CONBUT=	12	; THE CONTINUE BUTTON
		000077			LDAR=	77	; LOAD THE AR
					
					;MBOX CONTROL FUNCTIONS
					
		000071			LDMBXA=	71	; LOAD MEMORY TO CACHE SELECTOR
		000070			LDCHAN=	70	; LOAD CHANNEL DIAGNOSTIC CONDITIONS
					
					;PI CONTROL FUNCTIONS
					
		000100			READ0=	100	; PI    (READ STATUS 0)
		000101			READ1=	101	; PI	(READ STATUS 1)
		000102			READ2=	102	; PI	(READ STATUS 2)
		000103			READ3=	103	; PI	(READ STATUS 3)
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 30
	PRM11 PAL[KL,SYS]	Page 20 	DTE20 DEVICE REGISTER AND BIT DEFINITIONS, 4-JUNE-75

					;DATA PATH CONTROL FUNCTIONS
					
		000120			DPAR	=120	; AR
		000121			DPBR	=121	; BR
		000122			DPMQ	=122	; MQ
		000123			DPFM	=123	; FM
		000114			DPFMA	=114	; FM ADR
		000124			DPBRX	=124	; BRX
		000125			DPARX	=125	; ARX
		000126			DPADX	=126	; ADX
		000127			DPAD	=127	; AD
		000153			DPPC	=153	; PC
		000157			DPVMA	=157	; VMA
		000157			DPVMHD	=157	; VMA HELD
		000153			DPADB	=153	; ADDRESS BREAK
		000167			DPERG	=167	; E-BUS REGISTER
		000132			DPFE	=132	; FE 05-09
		000133			DPFE1	=133	; FE 00-04
		000130			DPSC	=130	; SC 05-09
		000131			DPSC1	=131	; SC 00-04
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 31
	PRM11 PAL[KL,SYS]	Page 21 	KL10 EBOX MACRO DEFINITIONS, 4-JUNE-75

					.SBTTL	KL10 EBOX MACRO DEFINITIONS, 4-JUNE-75
					
					;MACRO TO TURN 36 BIT WORDS INTO 5 UPSIDE DOWN BYTES
					
					.MACRO	WD36	A,B,C
						.NLIST	SRC
						  .BYTE	<377&C>,<<<C&7400>/400>!<<B&17>*20>>,<<B&7760>/20>
						  .BYTE	<A&377>,<<A&7400>/400>
						.LIST	SRC
					.ENDM
					
					;PDP10 CPU INSTRUCTION MACRO. TAKES 5 ARGUMENTS AS IN NORMAL
					;10 CODE. 5 FIELDS MUST BE PRESENT (4 FIELD SEPARATORS)
					;BUT THE AD,AC,I, AND XR FIELDS MAY BE LEFT BLANK AND IF SO,
					;WILL ASSEMBLE AS ZERO.  THE OP FIELD MUST NOT BE LEFT BLANK.
					
					.MACRO	I10	OP,CAC,CI,CAD,CXR
							ADH=0
							ADL=0
						  .IF	NB CAD
						  .IRPC	AD1,CAD
						  .IIF	GE <ADL-10000>,ADH=ADL/10000
						  ADL=10*<ADL&7777>+AD1
						  .ENDM
						  .ENDC
						  .IIF B CAC,AC=0
						  .IIF NB CAC,AC=CAC
						  .IIF B CI,I=0
						  .IIF NB CI,I=CI
						  .IIF B CXR,XR=0
						  .IIF NB CXR,XR=CXR
						.NLIST	SRC
						  .BYTE	<ADL&377>,<<ADL/400>!<ADH*200&377>>,<AC&1*200+<I*100+<XR*4>>+<ADH/2>>
						  .BYTE	<OP&37*10+<AC/2>>,<OP/40>
						.LIST	SRC
					.ENDM	I10
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 32
	PRM11 PAL[KL,SYS]	Page 22 	KL10 EBOX MACRO DEFINITIONS, 4-JUNE-75

					;MACRO  TO GENERATE A RIGHT JUSTIFIED 3-BYTE VALUE
					;FOR A 22-BIT ARGUMENT
					
					.MACRO	WD22	AD
						  ADH=0
						  ADL=0
						  .IRPC	AD1,AD
						  .IIF	GE <ADL-10000>,ADH=<10*ADH>+<ADL/10000>
						  ADL=10*<ADL&7777>+AD1
						.ENDM
						.NLIST	SRC
						.BYTE	<ADL&377>,<<ADL/400>!<ADH*200&377>>,<ADH/2>
						.LIST	SRC
					.ENDM	WD22
					
					;PDP10 I/O INSTRUCTION MACRO. TAKES 5 ARGUMENT AS NOTED ABOVE
					;IN THE DESCRIPTION OF THE I10 MACRO. THE 8 I/O OP CODES ARE
					;DEFINED AS ARE DEVICE CODES APR, PI, PAG, AND CCA.
					
					.MACRO	IO10	OP,DV,CI,AD,CXR
						  .IIF B CI,I=0
						  .IIF NB CI,I=CI
						  .IIF B CXR,XR=0
						  .IIF NB CXR,XR=CXR
							BLKO=2
							DATAO=3
							BLKI=0
							DATAI=1
							CONO=4
							CONI=5
							CONSZ=6
							CONSO=7
							APR=0
							PI=4
							PAG=10
							CCA=14
							ADH=0
							ADL=0
						  .IRPC AD1,AD
						  .IIF GE <ADL-10000>,ADH=ADL/10000
						  ADL=10*<ADL&7777>+AD1
						  .ENDM
						.NLIST	SRC
						  .BYTE	<ADL&377>,<<ADL/400>!<ADH*200&377>>,<OP&1*200+<I*100+<XR*4>>+<ADH/2>>
						  .BYTE	<DV&374+<OP/2>>,<DV/400+16>
						.LIST	SRC
					.ENDM	IO10
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 33
	PRM11 PAL[KL,SYS]	Page 23 	KL10 EBOX MACRO DEFINITIONS, 4-JUNE-75

					;THIS IS A MACRO TO WAIT FOR A DONE FLAG
					
					.MACRO	WFZERO BITSEL
						  MOV	#2500.,-(SP)	;SET TIMEOUT CNT
					  91$:	  BIT	#BITSEL,@.DIAG1	;TEST BIT
						  BEQ	92$		;LEAVE IF BIT ZERO(OK)
						  DEC	(SP)		;DECREMENT CNT
						  BNE	91$		;CONTINUE LOOP
						  TST	RPTFLG		;OTHERWISE TIME OUT
						  BNE	92$
						  JSR	R1,$DFTIM
					  92$:	  TST	(SP)+		;RESET STACK & CONTINUE
					.ENDM
					
					
					;THIS MACRO IS A WAIT FOR FLAG MACRO.
					;IT WAITS FOR A TEST BIT TO GO TO ONE
					;FROM A ZERO
					
					.MACRO	WFONE BITSEL
						  MOV	#2500.,-(SP)	;SET TIMEOUT CNT
					  93$:	  BIT	#BITSEL,@.STDTE	;TEST BIT
						  BNE	94$		;LEAVE IF NOW A ONE(OK)
						  DEC	(SP)		;DECREMENT CNT
						  BNE	93$		;CONTINUE LOOP
						  TST	RPTFLG		;OTHERWISE TIME OUT
						  BNE	94$
						  JSR	R1,$DFTIM
					  94$:	  TST	(SP)+		;RESET STACK
					.ENDM
					
					;.NLIST
					.ENDC	; DTEASB
					;.LIST
					;.NLIST
					.IF	DF DTEBBD
					;.LIST
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 34
	PRM11 PAL[KL,SYS]	Page 24 	KL10 EBOX MACRO DEFINITIONS, 4-JUNE-75

					.SBTTL	*BBD*	DTE20 DEVICE REGISTER AND BIT DEFINITIONS, 2-JAN-75
					
					DTEADR=	164000		;ADDRESS OF (FIRST) DTE20 DEVICE REGISTER BLOCK
					DTESIZ=	000040		;SPACING BETWEEN CONSECUTIVE DTE20'S
					DTEMAX=	4		;MAXIMUM NUMBER OF DTE20'S ON ONE PDP-11
					DTESZS=	5		;SHIFT TO CONVERT DTE ADDRESS TO DTE #
					
					.IF	DF DTEDEF
					;OFFSETS FROM THE BASE OF THE DTE20 DEVICE REGISTER BLOCK
					;TO SPECIFIC 10/11 INTERFACE RAM LOCATIONS AND REGISTERS.
					
					; THE FIRST 12 REGISTERS ARE NOT INITIALIZED BY "INIT" (BECAUSE THEY ARE IN RAMS)
					
					DLYCNT=	00		;DELAY COUNT			(ADDRESS XXXX00)
					DEXWD1=	02		;DEPOSIT OR EXAMINE WORD 1	(ADDRESS XXXX02)
					DEXWD2=	04		;DEPOSIT OR EXAMINE WORD 2	(ADDRESS XXXX04)
					DEXWD3=	06		;DEPOSIT OR EXAMINE WORD 3	(ADDRESS XXXX06)
					TENAD1=	10		;10 ADDRESS WORD 1 FOR DEX	(ADDRESS XXXX10)
					TENAD2=	12		;10 ADDRESS WORD 2 FOR DEX	(ADDRESS XXXX12)
					TO10BC=	14		;TO10 BYTE COUNT		(ADDRESS XXXX14)
					TO11BC=	16		;TO11 BYTE COUNT		(ADDRESS XXXX16)
					TO10AD=	20		;TO10 PDP11 MEMORY ADDRESS	(ADDRESS XXXX20)
					TO11AD=	22		;TO11 PDP11 MEMORY ADDRESS	(ADDRESS XXXX22)
					TO10DT=	24		;TO10 PDP11 DATA WORD		(ADDRESS XXXX24)
					TO11DT=	26		;TO11 PDP11 DATA WORD		(ADDRESS XXXX26)
					
					; THE LAST 4 REGISTERS ARE INITIALIZED BY "INIT" (BECAUSE THEY ARE IN FLIP-FLOPS)
					
					DIAG1=	30		;DIAGNOSTIC WORD 1		(ADDRESS XXXX30)
					DIAG2=	32		;DIAGNOSTIC WORD 2		(ADDRESS XXXX32)
					STATUS=	34		;10/11 INTERFACE STATUS WORD	(ADDRESS XXXX34)
					DIAG3=	36		;DIAGNOSTIC WORD 3		(ADDRESS XXXX36)
					.ENDC
					
					;  THE FOLLOWING ARE THE ADDRESSES OF THE DTE20 INTERRUPT VECTORS
					
					DTEIV0=	170		;INTERRUPT VECTOR FOR DTE20 #0
					DTEIV1=	174		;INTERRUPT VECTOR FOR DTE20 #1
					DTEIV2=	270		;INTERRUPT VECTOR FOR DTE20 #2
					DTEIV3=	274		;INTERRUPT VECTOR FOR DTE20 #3
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 35
	PRM11 PAL[KL,SYS]	Page 25 	KL10 EBOX MACRO DEFINITIONS, 4-JUNE-75

					; THE FOLLOWING MACRO (DTEVEC) DYNAMICLY COMPUTES THE INTERRUPT
					; VECTOR ADDRESS ASSOCIATED WITH A PARTICULAR DTE20.
					; THE FIRST ARGUMENT (DTEDRB) IS A REGISTER OR MEMORY LOCATION
					; WHICH CONTAINS THE BASE ADDRESS OF THE DEVICE REGISTER BLOCK
					; FOR A PARTICULAR DTE20.
					; THE SECOND ARGUMENT (DTEIVB) IS A REGISTER OR MEMORY LOCATION
					; INTO WHICH THIS MACRO WILL STORE THE BASE ADDRESS OF THE INTERRUPT
					; VECTOR ASSOCIATED WITH THE SAME DTE20.
					
					.MACRO	DTEVEC	DTEDRB,DTEIVB,?LABEL
						  MOVB	DTEDRB,DTEIVB
						  .NTYPE	DTE$T0,DTEIVB
						  .IF	NE	DTE$T0&70	;IS "DTEIVB" A REGISTER?
						  .IFT
						  CLRB	DTEIVB+1
						  .ENDC
						  ADD	#DTEIV0,DTEIVB	;THIS MACRO DEPENDS ON THE BIT
						  BIT	#DTESIZ,DTEIVB	;PATTERNS IN THE DEVICE REGISTER
						  BNE	LABEL		;ADDRESSES AND INTERRUPT VECTOR
						  SUB	#DTESIZ+DTEIV0-DTEIV1,DTEIVB	;ADDRESSES.
					  LABEL:
					.ENDM	DTEVEC
					
					;BIT ASSIGNMENTS FOR 10/11 INTERFACE REGISTERS
					
					;BIT ASSIGNMENTS FOR TENAD1
					
					DEP=BIT15		;MODE BIT FOR DEPOSIT (0=EXAMINE)
					F1=BIT7			;HIGH ORDER BIT OF FAST AC BLOCK
					F2=BIT6			;LOW    "    "  "   "   "    "
					
					;BIT ASSIGNMENTS FOR TO10BC
					
					INT11=BIT15		;SET DONE AND INTERRUPT BOTH 10 AND 11
					
					;BIT ASSIGNMENTS FOR TO11BC
					
					INT10=BIT15		;SET DONE AND INTERRUPT BOTH 10 AND 11
					ZSTOP=BIT14		;STOP ON NULL (ZERO) CHARACTER
					
					;BIT ASSIGNMENTS FOR TO10AD AND TO11AD
					
					BYTE2=BIT0		;TWO EIGHT-BIT BYTES PER WORD
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 36
	PRM11 PAL[KL,SYS]	Page 26 	KL10 EBOX MACRO DEFINITIONS, 4-JUNE-75

					;BIT ASSIGNMENTS FOR DIAG1 (WRITE)
					
					DPULSE=BIT7		;PULSE THE KL10 CLOCK
					PULSE=BIT4!BIT0		;SINGLE PULSE THE 10/11 CLOCK (ALSO SETS
								;10/11 DIAGNOSTIC MODE)
					DBUSEN=BIT3		;DIAGNOSTIC BUS ENABLE
					DCSRT=BIT3		;DIAGNOSTIC COMMAND START (NEW NAME FOR DBUSEN)
					DSEND=BIT2		;SEND THE EBUS DURING DIAGNOSTIC FUNCTION
					DIKL10=BIT1		;KL10 DIAGNOSTIC MODE
					D1011=BIT0		;10/11 INTERFACE DIAGNOSTIC MODE
					
					;BIT ASSIGNMENTS FOR DIAG1 (READ)
					
					TO10=BIT7		;INTERFACE MAJOR STATE = TO10 TRANSFER
					DEX=BIT6		;    "       "     "   = DEPOSIT OR EXAMINE
					TO11=BIT5		;    "       "     "   = TO11 TRANSFER
					VEC04=BIT4		;VECTOR INTERRUPT ADDRESS BIT 4
					VEC03=BIT3		;  "        "        "     "  3
					VEC02=BIT2		;  "        "        "     "  2
					
					;BIT ASSIGNMENTS FOR DIAG2 (WRITE)
					
					EDONES=BIT14		;SET EBUS DONE
					STHOLD=BIT7		;STAY IN CURRENT MAJOR STATE
					CLEAR=BIT6		;PERFORM DIAGNOSTIC CLEAR
					
					;BIT ASSIGNMENTS FOR DIAG2 (READ)
					
					;BIT ASSIGNMENTS FOR DIAG3 (READ)
					
					RAMIS0=BIT7		;RFM=0 (ALL ZEROES COMING OUT OF RAM)
					RFMAD0=BIT1		;RFM ADDRESS BIT 0
					RFMAD1=BIT8		; "     "     "  1
					RFMAD2=BIT9		; "     "     "  2
					RFMAD3=BIT10		; "     "     "  3
					
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 37
	PRM11 PAL[KL,SYS]	Page 27 	KL10 EBOX MACRO DEFINITIONS, 4-JUNE-75

					;BIT ASSIGNMENTS FOR STATUS (WRITE)
					
					DON10S=BIT15		;SET TO10 DONE
					DON10C=BIT14		;CLEAR TO10 DONE
					ERR10S=BIT13		;SET TO10 ERROR
					ERR10C=BIT12		;CLEAR TO10 ERROR
					INT11S=BIT11		;SET 10 REQ INTERRUPT (INTERRUPTS 11)
					INT11C=BIT10		;CLEAR 10 REQ INTERRUPT (REMOVES INTERRUPT TO 11)
					PERCLR=BIT9		;CLEAR -11 MEMORY PARITY ERROR
					INT10S=BIT8		;SET REQUEST 10 INTERRUPT (INTERRUPTS 10)
					DON11S=BIT7		;SET TO11 DONE
					DON11C=BIT6		;CLEAR TO11 DONE
					ERR11S=BIT1		;SET TO11 ERROR
					ERR11C=BIT0		;CLEAR TO11 ERROR
					
					;BIT ASSIGNMENTS FOR STATUS (READ)
					
					TO10DN=BIT15		;TO10 DONE
					PI10OF=BIT14		;THIS DTE20 IS NOT TRYING TO INTERRUPT THE -10
					TO10ER=BIT13		;TO 10 ERROR (NPR TIMEOUT OR BUS ERROR)
					INTR11=BIT12		;11 INTERRUPT PENDING
					DOOR10=BIT11		;10 REQUESTING 11 INTERRUPT (DOORBELL FROM 10)
					DXWRD1=BIT10		;DEPOSIT OR EXAMINE WORD ONE
					PARERR=BIT9		;-11 MEMORY PARITY ERROR
					DOOR11=BIT8		;REQUEST 10 INTERRUPT (DOORBELL FROM 11)
					TO11DN=BIT7		;TO11 DONE
					EBSEL=BIT6		;E BUFFER SELECT
					NULSTP=BIT5		;NULL STOP
					DEAD10=BIT4		;KL10 STOPPED
					DBUSON=BIT3		;DIAGNOSTIC BUS ENABLED
					DEXDON=BIT2		;DEPOSIT OR EXAMINE DONE
					TO11ER=BIT1		;TO 11 ERROR (NPR TIMEOUT OR BUS ERROR)
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 38
	PRM11 PAL[KL,SYS]	Page 28 	KL10 EBOX MACRO DEFINITIONS, 4-JUNE-75

					; FUNCTION SELECT CODES
					
					STPCLK	=010	; STOP CLOCK
					STRCLK	=011	; START CLOCK
					SSCLK	=014	; SINGLE STEP THE CLOCK
					CLRMR	=016	; CLEAR MR RESET
					SETMR	=017	; SET MR RESET
					BRCLK	=015	; BURST THE CLOCK
					LDCLK	=012	; LOAD CLOCK BURST COUNTER & RATE
					CLKCND	=101	; READ CLOCK CONDITION
					
					LDRAM1	=030	; LOAD D-RAM DATA
					LDRAM2	=031
					LDRAM3	=032
					RDRAMA	=131	; READ D-RAM ADDRESS
					RDRAM1	=132	; READ D-RAM DATA
					RDRAM2	=133
					DRAMAB	=132	; D-RAM A & B
					DRAMJ	=133	; D-RAM J
					
					LCRAM1	=040	; LOAD C-RAM DATA
					LCRAM2	=041
					LCRAM3	=042
					LCRAM4	=043
					LCRAM5	=044
					LCRAMA	=047	; LOAD C-RAM ADDRESS
					RCRAM1	=140	; READ C-RAM DATA AND ADDRESS
					RCRAM2	=141	; READ C-RAM DATA
					RCRAM3	=142
					RCRAM4	=143
					
					RELCTR	=000	; RELINQUISH CONTROL OF THE TRANSLATOR
					DIAGRD	=001	; SET TRANSLATOR IN 10 TO 11 DIRECTION
					DIAGLD	=002	; SET TRANSLATOR IN 11 TO 10 DIRECTION
					IRLOAD	=003	; ENABLE LOADING OF THE AR & IR REGISTERS
					DRLTCH	=005	; LOAD D-RAM LATCHES
					CLRRUN	=007	; CLEAR RUN FLIP-FLOP
					SETRUN	=006	; SET RUN FLIP-FLOP
					CONBUT	=004	; THE CONTINUE BUTTON
					
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 39
	PRM11 PAL[KL,SYS]	Page 29 	KL10 EBOX MACRO DEFINITIONS, 4-JUNE-75

					READ0	=110	; PI    (READ STATUS 0)
					READ1	=111	; PI	(READ STATUS 1)
					READ2	=112	; PI	(READ STATUS 2)
					READ3	=113	; PI	(READ STATUS 3)
					
					DPAR	=120	; AR	(DATA PATH)
					DPBR	=121	; BR
					DPMQ	=122	; MQ
					DPFM	=123	; FM
					DPBRX	=124	; BRX
					DPARX	=125	; ARX
					DPADX	=126	; ADX
					DPAD	=127	; AD
					DPFE	=133	; FE
					DPSC	=131	; SC
					DPERG	=157	; E-BUS REGISTER
					
					RDPCH	=130	; READ PC 18-26
					RDPCL	=131	; READ PC 27-35
					RDVMAH	=132	; READ VMA 18-26
					RDVMAL	=133	; READ VMA 27-35
					
					MCHLTLP	=42	; U CODE HALT LOOP ADDRESS
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 40
	PRM11 PAL[KL,SYS]	Page 30 	KL10 EBOX MACRO DEFINITIONS, 4-JUNE-75

					.SBTTL	*BBD*	KL10 EBOX MACRO DEFINITIONS, 4-MAR-75
					
					;MACRO TO TURN 36 BIT WORDS INTO 5 UPSIDE DOWN BYTES
					
					.MACRO	WD36	A,B,C
						.NLIST	SRC
						  .BYTE	<377&C>,<<<C&7400>/400>!<<B&17>*20>>,<<B&7760>/20>
						  .BYTE	<A&377>,<<A&7400>/400>
						.LIST	SRC
					.ENDM
					
					;PDP10 CPU INSTRUCTION MACRO. TAKES 5 ARGUMENTS AS IN NORMAL
					;10 CODE. 5 FIELDS MUST BE PRESENT (4 FIELD SEPARATORS)
					;BUT THE AD,AC,I, AND XR FIELDS MAY BE LEFT BLANK AND IF SO,
					;WILL ASSEMBLE AS ZERO.  THE OP FIELD MUST NOT BE LEFT BLANK.
					
					.MACRO	I10	OP,CAC,CI,CAD,CXR
							ADH=0
							ADL=0
						  .IF	NB CAD
						  .IRPC	AD1,CAD
						  .IIF	GE <ADL-10000>,ADH=ADL/10000
						  ADL=10*<ADL&7777>+AD1
						  .ENDM
						  .ENDC
						  .IIF B CAC,AC=0
						  .IIF NB CAC,AC=CAC
						  .IIF B CI,I=0
						  .IIF NB CI,I=CI
						  .IIF B CXR,XR=0
						  .IIF NB CXR,XR=CXR
						.NLIST	SRC
						  .BYTE	<ADL&377>,<<ADL/400>!<ADH*200&377>>,<AC&1*200+<I*100+<XR*4>>+<ADH/2>>
						  .BYTE	<OP&37*10+<AC/2>>,<OP/40>
						.LIST	SRC
					.ENDM	I10
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 41
	PRM11 PAL[KL,SYS]	Page 31 	KL10 EBOX MACRO DEFINITIONS, 4-JUNE-75

					;MACRO  TO GENERATE A RIGHT JUSTIFIED 3-BYTE VALUE
					;FOR A 22-BIT ARGUMENT
					
					.MACRO	WD22	AD
						  ADH=0
						  ADL=0
						  .IRPC	AD1,AD
						  .IIF	GE <ADL-10000>,ADH=<10*ADH>+<ADL/10000>
						  ADL=10*<ADL&7777>+AD1
						.ENDM
						.NLIST	SRC
						.BYTE	<ADL&377>,<<ADL/400>!<ADH*200&377>>,<ADH/2>
						.LIST	SRC
					.ENDM	WD22
					
					;PDP10 I/O INSTRUCTION MACRO. TAKES 5 ARGUMENT AS NOTED ABOVE
					;IN THE DESCRIPTION OF THE I10 MACRO. THE 8 I/O OP CODES ARE
					;DEFINED AS ARE DEVICE CODES APR, PI, PAG, AND CCA.
					
					.MACRO	IO10	OP,DV,CI,AD,CXR
						  .IIF B CI,I=0
						  .IIF NB CI,I=CI
						  .IIF B CXR,XR=0
						  .IIF NB CXR,XR=CXR
							BLKO=2
							DATAO=3
							BLKI=0
							DATAI=1
							CONO=4
							CONI=5
							CONSZ=6
							CONSO=7
							APR=0
							PI=4
							PAG=10
							CCA=14
							ADH=0
							ADL=0
						  .IRPC AD1,AD
						  .IIF GE <ADL-10000>,ADH=ADL/10000
						  ADL=10*<ADL&7777>+AD1
						  .ENDM
						.NLIST	SRC
						  .BYTE	<ADL&377>,<<ADL/400>!<ADH*200&377>>,<OP&1*200+<I*100+<XR*4>>+<ADH/2>>
						  .BYTE	<DV&374+<OP/2>>,<DV/400+16>
						.LIST	SRC
					.ENDM	IO10
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 42
	PRM11 PAL[KL,SYS]	Page 32 	KL10 EBOX MACRO DEFINITIONS, 4-JUNE-75

					;THIS IS A MACRO TO WAIT FOR A DONE FLAG
					
					.MACRO	WFZERO BITSEL
						  MOV	#2500.,-(SP)	;SET TIMEOUT CNT
					  91$:	  BIT	#BITSEL,@.DIAG1	;TEST BIT
						  BEQ	92$		;LEAVE IF BIT ZERO(OK)
						  DEC	(SP)		;DECREMENT CNT
						  BNE	91$		;CONTINUE LOOP
						  TST	RPTFLG		;OTHERWISE TIME OUT
						  BNE	92$
						  JSR	R1,$DFTIM
					  92$:	  TST	(SP)+		;RESET STACK & CONTINUE
					.ENDM
					
					
					;THIS MACRO IS A WAIT FOR FLAG MACRO.
					;IT WAITS FOR A TEST BIT TO GO TO ONE
					;FROM A ZERO
					
					.MACRO	WFONE BITSEL
						  MOV	#2500.,-(SP)	;SET TIMEOUT CNT
					  93$:	  BIT	#BITSEL,@.STDTE	;TEST BIT
						  BNE	94$		;LEAVE IF NOW A ONE(OK)
						  DEC	(SP)		;DECREMENT CNT
						  BNE	93$		;CONTINUE LOOP
						  TST	RPTFLG		;OTHERWISE TIME OUT
						  BNE	94$
						  JSR	R1,$DFTIM
					  94$:	  TST	(SP)+		;RESET STACK
					.ENDM
					
					;.NLIST
					.ENDC	; DTEBBD
					;.LIST
					;.NLIST
					.IF	DF DVASB
					;.LIST
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 43
	PRM11 PAL[KL,SYS]	Page 33 	KL10 EBOX MACRO DEFINITIONS, 4-JUNE-75

					.SBTTL	DEVICE SYMBOL DEFINITIONS, 4-JUNE-75
					
					; PRIORITY LEVELS FOR SERVICE ROUTINES.
					
					TPILEV=	PR6		; TERMINAL PRIORITY LEVEL
					NXMPIL=	PR7		; "NON-X-MEM" PRIORITY LEVEL
					DHRPS=	TPILEV		; DH11 RECEIVER PRIORITY
					DHTPS=	DHRPS		; DH11 TRANSMITTER
					DLRPS=	DHRPS		; DL11
					DLTPS=	DLRPS
					KWLPS=	DHRPS		; KW11 PRIORITY LEVEL
					NXMPS=	NXMPIL		; "NON-X-MEM" PRIORITY LEVEL
					
					; BIT DEFINITIONS FOR THE PARAMETER WORD.
					
					PDHDNS=	11		; DH11 DEVICE NUMBER SHIFT
					PDHDNM=	7000		; DH11 DEVICE NUMBER MASK
					PDHLNS=	4		; DH11 LINE NUMBER SHIFT
					PDHLNM=	360		; DH11 LINE NUMBER MASK
					PDHLSS=	0		; DH11 LINE SPEED SHIFT
					PDHLSM=	17		; DH11 LINE SPEED MASK
					PDLFCS=	PDHLNS		; DL11 FILLER CLASS SHIFT
					PDLFCM=	PDHLNS		; DL11 FILLER CLASS MASK
					
					; OTHER DEVICES.
					
					DP11BA=	174770		; DP11 DEVICE REGISTERS BASE ADDRESS
					DP11RS=	10		; DP11 DEVICE REGISTER SIZE
					DP11VS=	10		; DP11 INTERRUPT VECTOR SIZE
					DM11BA=	170500		; DM11 DEVICE REGISTER BASE ADDRESS
					DM11RS=	10		; DM11 DEVICE REGISTER SIZE
					DM11VS=	4		; DM11 INTERRUPT VECTOR SIZE
					DR11BA=	167770		; DR11 DEVICE REGISTER BASE ADDRESS
					DR11RS=	10		; DR11 DEVICE REGISTER SIZE
					DR11VS=	10		; DR11 INTERRUPT VECTOR SIZE
					
					;.NLIST
					.ENDC	;DVASB
					;.LIST
					;.NLIST
					.IF	DF KWASB
					;.LIST
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 44
	PRM11 PAL[KL,SYS]	Page 34 	KW11 DEVICE REGISTERS AND BIT DEFINITIONS, 4-JUNE-75

					.SBTTL	KW11 DEVICE REGISTERS AND BIT DEFINITIONS, 4-JUNE-75
					
		000100			KWLIV=	100		; VECTOR ADDRESS
					
		177546			KWLKS=	177546		; LINE CLOCK STATUS DEVICE ADDRESS
					
		000100			KWLKE=	100		; LINE CLOCK INTERRUPT ENABLE BIT
					
					.SBTTL	MM11 DEVICE REGISTERS AND BIT ASSIGNMENTS, 4-JUNE-75
					
		000114			MMLPIV=	114		;VECTOR ADDRESS
					
		172100			MMLPBA=	172100		;1ST MM11-LP DEVICE ADDRESS
		172136			MMLPEA=	172136		;LAST MM11-LP DEVICE ADDRESS
					
		100000			MMERRF=	BIT15		;ERROR FLAG
					
		007740			MMADDM=	7740		;ADDRESS MASK
		000005			MMADDS=	5		;ADDRESS SHIFT
					
		000004			MMWWP=	BIT2		;WRITE WRONG PARITY
		000001			MMPIE=	BIT0		;PARITY INTERRUPT ENABLE
					
					;.NLIST
					.ENDC	;KWASB
					;.LIST
					;.NLIST
					.IF	DF DLASB
					;.LIST
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 45
	PRM11 PAL[KL,SYS]	Page 35 	DL11 DEVICE REGISTERS AND BIT DEFINITIONS, 4-JUNE-75

					.SBTTL	DL11 DEVICE REGISTERS AND BIT DEFINITIONS, 4-JUNE-75
					
		000060			DLRIV=	60		; RECEIVER VECTOR ADDRESS
		000064			DLTIV=	DLRIV+4		; TRANSMITTER VECTOR ADDRESS
		177560			DLBA=	177560		; BASE FOR DEVICE ADDRESSES
		000000			DLRCSR=	0		; RECEIVER STATUS REGISTER
		000002			DLRBUF=	2		; RECEIVER BUFFER REGISTER
		000004			DLXCSR=	4		; TRANSMITTER STATUS REGISTER
		000006			DLXBUF=	6		; TRANSMITTER BUFFER REGISTER
					
					; BIT DEFINITIONS FOR "DLRCSR"- RECEIVER CONTROL STATUS REGISTER.
					
		100000			DLDSC=	BIT15		; DATA STATUS CHANGE
		040000			DLRI=	BIT14		; RING INDICATOR
		020000			DLCTS=	BIT13		; CLEAR TO SEND
		010000			DLCD=	BIT12		; CARRIER DETECT
		004000			DLRA=	BIT11		; RECEIVER ACTIVE
		002000			DLSRD=	BIT10		; SECONDARY RECEIVED DATA
		000200			DLRD=	BIT7		; RECEIVER DONE
		000100			DLRIE=	BIT6		; RECEIVER INTERRUPT ENABLE
		000040			DLDIE=	BIT5		; DATA SET INTERRUPT ENABLE
		000010			DLSTD=	BIT3		; SECONDARY TRANSMITTED DATA
		000004			DLRTS=	BIT2		; REQUEST TO SEND
		000002			DLDTR=	BIT1		; DATA TERMINAL READY
		000001			DLRE=	BIT0		; READER ENABLE
					
					; BIT DEFINITIONS FOR "DLRBUF"- RECEIVER BUFFER.
					
		100000			DLERR=	BIT15		; ERROR
		040000			DLORE=	BIT14		; OVERRUN ERROR
		020000			DLFE=	BIT13		; FRAMING ERROR
		010000			DLRDPE=	BIT12		; RECEIVED DATA PARITY ERROR
		000000			DLRDS=	0		; RECEIVED DATA SHIFT
		000377			DLRDM=	377		; RECEIVED DATA MASK
					
					; BIT DEFINITIONS FOR "DLXCSR"- TRANSMITTER CONTROL STATUS REGISTER.
					
		000200			DLTR=	BIT7		; TRANSMITTER READY
		000100			DLTIE=	BIT6		; TRANSMITTER INTERRUPT ENABLE
		000004			DLMAIN=	BIT2		; MAINTENANCE
		000001			DLBRK=	BIT0		; BREAK
					
					; BIT DEFINITIONS FOR "DLXBUF"- TRANSMITTER BUFFER.
					
		000000			DLTDS=	0		; TRANSMITTER DATA SHIFT
		000377			DLTDM=	377		; TRANSMITTER DATA MASK
					
					;.NLIST
					.ENDC	;DLASB
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 46
	PRM11 PAL[KL,SYS]	Page 35.1 	DL11 DEVICE REGISTERS AND BIT DEFINITIONS, 4-JUNE-75

					;.LIST
					;.NLIST
					.IF	DF DHASB
					;.LIST
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 47
	PRM11 PAL[KL,SYS]	Page 36 	DL11 DEVICE REGISTERS AND BIT DEFINITIONS, 4-JUNE-75

					.SBTTL	DH11 DEVICE REGISTERS AND BIT DEFINITIONS, 4-JUNE-75
					
					DHIVBA=	300		; INTERRUPT VECTOR BASE ADDRESS
					DHRIV=	0		; RECEIVER VECTOR ADDRESS
					DHTIV=	DHRIV+4		; TRANSMITTER VECTOR ADDRESS
					DHBA=	160020		; BASE FOR DEVICE ADDRESSES
					DHSCR=	0		; SYSTEM CONTROL REGISTER
					DHNRCR=	2		; NEXT RECEIVER CHARACTER REGISTER
					DHLPR=	4		; LINE PARAMETER REGISTER
					DHCAR=	6		; CURRENT ADDRESS REGISTER
					DHBCR=	10		; BYTE COUNT REGISTER
					DHBAR=	12		; TRANSMIT BUFFER ACTIVE REGISTER
					DHTBR=	14		; TRANSMIT BREAK REGISTER
					DHSSR=	16		; SILO STATUS REGISTER
					
					; BIT DEFINITIONS FOR "DHSCR"- STATUS CONTROL REGISTER.
					
					DHTI=	BIT15		; TRANSMITTER INTERRUPT
					DHSI=	BIT14		; STORAGE INTERRUPT
					DHTNIE=	BIT13		; TRANSMITTER AND NON-X-MEM INTERRUPT ENABLE
					DHSIE=	BIT12		; STORAGE INTERRUPT ENABLE
					DHMC=	BIT11		; MASTER CLEAR
					DHNXM=	BIT10		; NON-X-MEM
					DHMAIN=	BIT9		; MAINTENANCE
					DHCNXM=	BIT8		; CLEAR NON-X-MEM BIT
					DHRI=	BIT7		; RECEIVER INTERRUPT
					DHRIE=	BIT6		; RECEIVER INTERRUPT ENABLE
					DHMES=	4		; MEMORY EXTENSION SHIFT
					DHMEM=	60		; MEMORY EXTENSION MASK
					DHLSS=	0		; LINE SELECTION SHIFT
					DHLSM=	17		; LINE SELECTION MASK
					
					; BIT DEFINITIONS FOR "DHNRCR"- NEXT RECEIVER CHARACTER REGISTER.
					
					DHDP=	BIT15		; DATA PRESENT
					DHORE=	BIT14		; OVERRUN ERROR
					DHFE=	BIT13		; FRAMING ERROR
					DHRDPE=	BIT12		; RECEIVER DATA PARITY ERROR
					DHRLNS=	10		; RECEIVER LINE NUMBER SHIFT
					DHRLNM=	7400		; RECEIVER LINE NUMBER MASK
					DHRDS=	0		; RECEIVER DATA SHIFT
					DHRDM=	377		; RECEIVER DATA MASK
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 48
	PRM11 PAL[KL,SYS]	Page 37 	DL11 DEVICE REGISTERS AND BIT DEFINITIONS, 4-JUNE-75

					; BIT DEFINITIONS FOR "DHLPR"- LINE PARAMETER REGISTER.
					
					DHAEE=	BIT15		; AUTO-ECHO ENABLE
					DHHD=	BIT14		; HALF-DUPLEX
					DHTSS=	12		; TRANSMITTER SPEED SHIFT
					DHTSM=	36000		; TRANSMITTER SPEED MASK
					DHRSS=	6		; RECEIVER SPEED SHIFT
					DHRSM=	1700		; RECEIVER SPEED MASK
					DHEP=	BIT5		; EVEN PARITY
					DHPE=	BIT4		; PARITY ENABLE
					DHTSB=	BIT2		; TWO STOP BITS
					DHCLS=	0		; CHARACTER LENGTH SHIFT
					DHCLM=	3		; CHARACTER LENGTH MASK
					DHCL5=	0		; CHARACTER LENGTH - 5 BITS
					DHCL6=	1		; CHARACTER LENGTH - 6 BITS
					DHCL7=	2		; CHARACTER LENGTH - 7 BITS
					DHCL8=	3		; CHARACTER LENGTH - 8 BITS
					
					; BIT DEFINITIONS FOR "DHSSR"- SILO STATUS REGISTER.
					
					DHSFLS=	10		; SILO FILL LEVEL SHIFT
					DHSFLM=	37400		; SILO FILL LEVEL MASK
					DHREMS=	6		; READ EXTENDED MEMORY SHIFT
					DHREMM=	300		; READ EXTENDED MEMORY MASK
					DHSALS=	0		; SILO ALARM LEVEL SHIFT
					DHSALM=	77		; SILO ALARM LEVEL MASK
					
					;.NLIST
					.ENDC	;DHASB
					;.LIST
					;.NLIST
					.IF	DF TAASB
					;.LIST
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 49
	PRM11 PAL[KL,SYS]	Page 38 	DL11 DEVICE REGISTERS AND BIT DEFINITIONS, 4-JUNE-75

					.SBTTL	TA11 (CASSETTE) DEVICE REGISTER AND BIT DEFINITIONS, 4-JUNE-75
					
					TACS=	177500		;CONTROL AND STATUS REGISTER
					TADB=	TACS+2		;DATA BUFFER REGISTER
					
					TAIV=	260		;INTERRUPT VECTOR
					
					; BIT ASSIGNMENTS WITHIN THE CONTROL AND STATUS REGISTER
					
					TAGO=	1		;GO = START OPERATION
					TAFUNC=	16		;"FUNCTION TO BE PERFORMED" FIELD
					TAWFG=	0*2		;"WRITE FILE GAP" FUNCTION
					TAWRIT=	1*2		;"WRITE DATA" FUNCTION
					TAREAD=	2*2		;"READ DATA" FUNCTION
					TASRF=	3*2		;"SPACE REVERSE FILE" FUNCTION
					TASRB=	4*2		;"SPACE REVERSE BLOCK (RECORD)" FUNCTION
					TASFF=	5*2		;"SPACE FORWARD FILE" FUNCTION
					TASFB=	6*2		;"SPACE REVERSE BLOCK (RECORD)" FUNCTION
					TAREWD=	7*2		;"REWIND" FUNCTION
					TAILBS=	20		;INITIATE LAST BYTE SEQUENCE
					TAREDY=	40		;READY
					TAINTE=	100		;INTERRUPT ENABLE
					TARQST=	200		;TRANSFER REQUEST
					TAUNIT=	400		;UNIT SELECTION
					TAOFFL=	1000		;UNIT OFF LINE
					TATERR=	2000		;TIMING ERROR (LOST DATA)
					TAFGAP=	4000		;FILE GAP
					TALOCK=	10000		;WRITE LOCKED
					TALEAD=	20000		;CLEAR LEADER
					TABCHK=	40000		;BLOCK CHECK (BAD CRC AFTER READ)
					TAEROR=	100000		;ERROR (ERROR SUMMARY BIT)
					
					;.NLIST
					.ENDC	;TAASB
					;.LIST
					;.NLIST
					.IF	DF RXASB
					;.LIST
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 50
	PRM11 PAL[KL,SYS]	Page 39 	DL11 DEVICE REGISTERS AND BIT DEFINITIONS, 4-JUNE-75

					.SBTTL	RX11/RX01 (FLOPPY) REGISTERS AND BIT DEFINITIONS, 22-JULY-75
					
					;RX11 STANDARD DEVICE ADDRESSES
					
					RXCS=	177170		;COMMAND STATUS REGISTER
					RXDB=	177172		;DATA BUFFER REGISTER
					RXSA=	177172		;SECTOR ADDRESS REGISTER
					RXTA=	177172		;TRACK ADDRESS REGISTER
					RXES=	177172		;ERROR STATUS REGISTER
					
					RXIV=	264		;INTERRUPT VECTOR ADDRESS
					
					;RX11 FUNCTION CODES
					
					RXFBUF=	0		;FILL BUFFER
					RXEBUF=	2		;EMPTY BUFFER
					RXWSEC=	4		;WRITE SECTOR
					RXRSEC=	6		;READ SECTOR
					RXRSTAT=12		;READ STATUS
					RXWDDS=	14		;WRITE DELETED DATA SECTOR
					RXRERR=	16		;READ ERROR REGISTER
					
					;RX11 COMMAND AND STATUS REGISTER BIT DEFINITIONS
					
					RXGO=	1		;GO
					RXU1=	20		;RX01 UNIT # 1
					RXDONE=	40		;DONE
					RXIE=	100		;INTERRUPT ENABLE
					RXTREQ=	200		;TRANSFER REQUEST
					RXINI=	40000		;INITIALIZE
					RXERROR=100000		;ERROR
					
					;RX11 ERROR STATUS REGISTER BIT DEFINITIONS
					
					RXCRCE=	1		;CRC ERROR
					RXPARE=	2		;PARITY ERROR
					RXIDONE=4		;INITIALIZE DONE
					RXDDD=	100		;DELETED DATA DETECTED
					RXDRDY	=200		;DRIVE READY
					
					;.NLIST
					.ENDC	;RXASB
					;.LIST
					;.NLIST
					.IF	DF TCASB
					;.LIST
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 51
	PRM11 PAL[KL,SYS]	Page 40 	TC11 (DECTAPE) DEVICE REGISTERS AND BIT DEFINITIONS, 4-JUNE-75

					.SBTTL	TC11 (DECTAPE) DEVICE REGISTERS AND BIT DEFINITIONS, 4-JUNE-75
					
					;DECTAPE PARAMETERS
					
		010000			TCILO=	BIT12		;ILLEGAL OPERATION
		004000			TCSELE=	BIT11		;SELECTION ERROR
		000100			TCIE=	BIT6		;INTERRUPT ENABLE
		000001			TCDO=	BIT0		;DO OPERATION
		000004			TCRDATA=BIT2		;READ DATA
		000014			TCWDATA=BIT3+BIT2	;WRITE DATA
		000002			TCRNUM=	BIT1		;READ BLOCK NUMBER
		004000			TCREV=	BIT11		;REVERSE DIRECTION
		040000			TCPAR=	BIT14		;PARITY ERROR
		002000			TCBLKM=	BIT10		;BLOCK MISSED
		001000			TCDATM=	BIT9		;DATA MISSED
		020000			TCMTE=	BIT13		;MARK TRACK ERROR
		100000			TCERR=	BIT15		;DECTAPE ERROR
		000200			TCRDY=	BIT7		;READY
					
		063000			TCSOFT=	TCPAR+TCBLKM+TCDATM+TCMTE
					
		177340			TCST=	177340		;STATUS REGISTER
		177342			TCCM=	177342		;COMMAND REGISTER
		177343			TCCM1=	177343		;COMMAND UPPER BYTE
		177344			TCWC=	177344		;WORD COUNT REGISTER
		177346			TCBA=	177346		;BUS MEMORY ADDRESS
		177350			TCDT=	177350		;DATA REGISTER
					
					;.NLIST
					.ENDC	;TCASB
					;.LIST
					;.NLIST
					.IF	DF RPASB
					;.LIST
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 52
	PRM11 PAL[KL,SYS]	Page 41 	TC11 (DECTAPE) DEVICE REGISTERS AND BIT DEFINITIONS, 4-JUNE-75

					.SBTTL	RH11/RP04 REGISTER AND BIT DEFINITIONS, 4-JUNE-75
					
					BLKSIZ=	256.	;DISK BLOCK SIZE (IN 16-BIT WORDS)
					IFESIZ=	3	;INDEX FILE ENTRY SIZE (IN 16-BIT WORDS)
					FDESIZ=	16.	;FILE DIRECTORY ENTRY SIZE (IN 16-BIT WORDS)
					
					RPCS1=	0	;OFFSET TO RH11/RP04 CONTROL & STATUS REGISTER 1
					RPTRE=	BIT14	;"TRANSFER ERROR" BIT IN RPCS1
					RPMCPE=	BIT13	;"MASSBUS CONTROL BUS PARITY ERROR" BIT IN RPCS1
					RPDVA=	BIT11	;"DRIVE AVAILABLE" BIT IN RPCS1
					RPRDY=	BIT7	;"CONTROLLER READY" BIT IN RPCS1
					RPPRST=	21	;READ-IN PRESET FUNCTION IN RPCS1
					RPPACK=	23	;PACK ACKNOWLEDGE (SET VV) FUNCTION IN RPCS1
					RPWTFN=	61	;WRITE DATA FUNCTION IN RPCS1
					RPRDFN=	71	;READ DATA FUNCTION IN RPCS1
					
					RPWC=	2	;OFFSET TO RH11/RP04 WORD COUNT REGISTER
					
					RPBA=	4	;OFFSET TO RH11/RP04 UNIBUS ADDRESS REGISTER
					
					RPDA=	6	;OFFSET TO RH11/RP04 TRACK & SECTOR ADDRESS REGISTER
					
					RPCS2=	10	;OFFSET TO RH11/RP04 CONTROL & STATUS REGISTER 2
					RPCLR=	BIT5	;"CONTROLLER (AND MASSBUS) CLEAR" BIT IN RPCS2
					
					RPDS=	12	;OFFSET TO RH11/RP04 DRIVE STATUS REGISTER
					RPATA=	BIT15	;"ATTENTION ACTIVE" BIT IN RPDS
					RPERR=	BIT14	;"COMPOSITE ERROR" BIT IN RPDS
					RPMOL=	BIT12	;"MEDIUM ON-LINE" BIT IN RPDS
					RPDPR=	BIT8	;"DRIVE PRESENT" BIT IN RPDS
					RPDRY=	BIT7	;"DRIVE READY" BIT IN RPDS
					RPVV=	BIT6	;"VOLUME VALID" BIT IN RPDS
					
					RPOF=	32	;OFFSET TO RH11/RP04 OFFSET REGISTER (CONTAINING FMT22)
					RPFMT=	BIT12	;"FMT22" (16-BIT WORDS) BIT IN RPOF
					RPECI=	BIT11	;"ERROR CORRECTION CODE INHIBIT" BIT IN RPOF
					
					RPDC=	34	;OFFSET TO RH11/RP04 DESIRED CYLINDER REGISTER
					
					;.NLIST
					.ENDC	;RPASB
					;.LIST
					;.NLIST
					.IF	DF LPASB
					;.LIST
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 53
	PRM11 PAL[KL,SYS]	Page 42 	TC11 (DECTAPE) DEVICE REGISTERS AND BIT DEFINITIONS, 4-JUNE-75

					.SBTTL	LP20 REGISTER AND BIT DEFINITIONS, 27-JUNE-75
					
					LP20A=	177440	;LP20 1ST CONTROLLER ADDRESS
					LP20B=	177460	;LP20 2ND CONTROLLER ADDRESS
					LPAVEC=	210	;LP20A INTERRUPT VECTOR
					LPBVEC=	200	;LP20B INTERRUPT VECTOR
					
					LPCSRA=	0	;OFFSET TO LP20 PRIMARY STATUS REGISTER
					LPERR=	BIT15	;"ERROR" BIT IN LPCSRA
					LPPZRO=	BIT14	;"PAGZRO" BIT IN LPCSRA
					LPUCHR=	BIT13	;"UNDCHR" BIT IN LPCSRA
					LPVRDY=	BIT12	;"UNDCHR" BIT IN LPCSRA
					LPONLN=	BIT11	;"ONLINE" BIT IN LPCSRA
					LPDELH=	BIT10	;"DELHLD" BIT IN LPCSRA
					LPLINI=	BIT9	;"LOINIT" BIT IN LPCSRA
					LPRERR=	BIT8	;"RSTERR" BIT IN LPCSRA
					LPDONE=	BIT7	;"DONE" BIT IN LPCSRA
					LPIENB=	BIT6	;"INTENB" BIT IN LPCSRA
					LPBA17=	BIT5	;"BUSA17" BIT IN LPCSRA
					LPBA16=	BIT4	;"BUSA16" BIT IN LPCSRA
					LPVLOD=	BIT3	;"VFULOD" BIT IN LPCSRA
					LPTMOD=	BIT2	;"TSTMOD" BIT IN LPCSRA
					LPPENB=	BIT1	;"PARENB" BIT IN LPCSRA
					LPGO=	BIT0	;"GO" BIT IN LPCSRA
					
					LPCSRB=	2	;OFFSET TO LP20 ERROR AND TEST REGISTER
					LPTPBT=	BIT12	;"LPTPBT" BIT IN LPCSRB
					LPT02=	BIT10	;"TEST02" BIT IN LPCSRB
					LPT01=	BIT9	;"TEST01" BIT IN LPCSRB
					LPT00=	BIT8	;"TEST00" BIT IN LPCSRB
					LPOFFL=	BIT7	;"OFFLIN" BIT IN LPCSRB
					LPVERR=	BIT6	;"VFUERR" BIT IN LPCSRB
					LPTPAR=	BIT5	;"LPTPAR" BIT IN LPCSRB
					LPMPAR=	BIT4	;"MEMPAR" BIT IN LPCSRB
					LPRPAR=	BIT3	;"RAMPAR" BIT IN LPCSRB
					LPSYNT=	BIT2	;"SYNTIM" BIT IN LPCSRB
					LPDEMT=	BIT1	;"DEMTIM" BIT IN LPCSRB
					LPGOER=	BIT0	;"GOERR" BIT IN LPCSRB
					
					LPBSAD=	4	;OFFSET TO LP20 DMA BUS ADDRESS REGISTER
					
					LPBCTR=	6	;OFFSET TO LP20 DMA BYTE COUNTER REGISTER
					
					LPPCTR=	10	;OFFSET TO LP20 PAGE COUNTER REGISTER
					
					LPRAMD=	12	;OFFSET TO LP20 RAM DATA REGISTER
					
					LPCBUF=	14	;OFFSET TO LP20 CHAR BUFFER REGISTER (BYTE)
					LPCCTR=	15	;OFFSET TO LP20 COLUMN COUNTER REGISTER (BYTE)
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 54
	PRM11 PAL[KL,SYS]	Page 42.1 	TC11 (DECTAPE) DEVICE REGISTERS AND BIT DEFINITIONS, 4-JUNE-75

					
					LPCKSM=	16	;OFFSET TO LP20 CHECKSUM REGISTER (BYTE)
					LPPDAT=	17	;OFFSET TO LP20 PRINTER DATA REGISTER (BYTE)
					;.NLIST
					.ENDC	;LPASB
					;.LIST
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 55
	PRM11 PAL[KL,SYS]	Page 43 	EN11 - PDP11/ETHERNET INTERFACE MODULE DEVICE REGISTERS ETC.

					.SBTTL EN11 - PDP11/ETHERNET INTERFACE MODULE DEVICE REGISTERS ETC.
					 
		160020			ENOWC=160020		; ETHERNET DEVICE OUTPUT WORD COUNT REG
		160022			ENOWA=ENOWC+2		; ETHERNET DEVICE OUTPUT WORD ADDR REG
		160024			ENOCSR=ENOWC+4		; ETHERNET DEVICE OUTPUT CONTROL STATUS REG
		160026			ENODLY=ENOWC+6		; ETHERNET DEVICE OUTPUT DELAY REG
					;
		160030			ENIWC=ENOWC+10		; ETHERNET DEVICE INPUT WORD COUNT REG
		160032			ENIWA=ENOWC+12		; ETHERNET DEVICE INPUT WORD ADDRESS REG
		160034			ENICSR=ENOWC+14		; ETHERNET DEVICE INPUT CONTROL STATUS REG
		160036			ENIADR=ENOWC+16		; ETHERNET DEVICE HARDWARE ADDRESS REGISTER
					;
		000454			EN0BSZ=300.		; MAXIMUM SIZE OF ETHERNET INPUT BUFFER
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 56
	PRM11 PAL[KL,SYS]	Page 44 	EN11 - PDP11/ETHERNET INTERFACE MODULE DEVICE REGISTERS ETC.

					;DSKDMP BOOTSTRAP PARAMETERS
					
		000620			BOOTWD==400.
		002260			BOOTSZ==BOOTWD*3		;NUMBER OF PDP-11 WORDS THAT BOOT OCCUPIES
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 57
	KLDCP PAL[KL,SYS]	Page 5.1 	EN11 - PDP11/ETHERNET INTERFACE MODULE DEVICE REGISTERS ETC.

					
								;Starting vectors & other constant code
					.INSRT	BEG11.PAL
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 58
	BEG11 PAL[KL,SYS]	Page 1 	EN11 - PDP11/ETHERNET INTERFACE MODULE DEVICE REGISTERS ETC.

				COMMENT ⊗   VALID 00002 PAGES
				C REC  PAGE   DESCRIPTION
				C00001 00001
				C00002 00002	.SBTTL	*BEGIN* PROGRAM CONTROL, 4-AUG-75
				C00005 ENDMK
					C⊗;
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 59
	BEG11 PAL[KL,SYS]	Page 2 	*BEGIN* PROGRAM CONTROL, 4-AUG-75

					.SBTTL	*BEGIN* PROGRAM CONTROL, 4-AUG-75
					
		100000				.=PRGSRT
					;STARTING ADDRESS
					
	100000	000137	114566		START:	JMP	@#$SBRINT	;NORMAL START (near maximum violence)
	100004	000137	100602		$CNTLC:	JMP	@#$$CNTLC	;CTRL/C (a normal, not too violent restart)
	100010	000137	114520		$ILOAD:	JMP	$$ILOAD		;INITIAL LOAD (redo checksum, then $SBRINT)
	100014	000137	100332		$CONSL:	JMP	$$CONSL		;RETURN TO CONSOLE (pussycat)
					
					;DEVICE ADDRESS PARAMETERS
					
	100020	177560			$TKS:	177560			;TTY KBD STATUS
	100022	177562			$TKB:	177562			;TTY KBD BUFFER
	100024	177564			$TPS:	177564			;TTY PRINTER STATUS
	100026	177566			$TPB:	177566			;TTY PRINTER BUFFER
					
					.IF DF LPASB
					$LPS:	177514			;LP11 - LINE PRINTER STATUS
					$LPB:	177516			;LP11 - LINE PRINTER BUFFER
					.ENDC
					
					.IF DF TELASB
	100030	175610			$FSTKS:	175610			;FIELD SERVICE KLINIK INPUT STATUS
	100032	175612			$FSTKB:	175612			;FIELD SERVICE KLINIK INPUT BUFFER
	100034	175614			$FSTPS:	175614			;FIELD SERVICE KLINIK OUTPUT STATUS
	100036	175616			$FSTPB:	175616			;FIELD SERVICE KLINIK OUTPUT BUFFER
	100040	000300			$FSTRV:	300			;FIELD SERVICE TELETYPE RECEIVE VECTOR
	100042	000304			$FSTTV:	304			;FIELD SERVICE TELETYPE TRANSMIT VECTOR
					.ENDC
					
					.IF DF CLKASB
	100044	160770			$CLKMD:	160770			;MONTH/DAY
	100046	160772			$CLKHM:	160772			;HOURS/MINUTES
	100050	160774			$CLKSEC:160774			;YEAR/SECONDS
	100052	160776			$CLKST:	160776			;STATUS
	100054	000170			$CLKTV:	170			;TRAP VECTOR
					.ENDC
					
					.IF DF MONASB
					$CMTKS:	175620			;COMM INPUT STATUS
					$CMTKB:	175622			;COMM INPUT BUFFER
					$CMTPS:	175624			;COMM OUTPUT STATUS
					$CMTPB:	175626			;COMM OUTPUT BUFFER
					.ENDC
					
					.LIF DF RPASB
					RPRH11:	176700			;RH11 CONTROLLER ADDRESS
					
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 60
	BEG11 PAL[KL,SYS]	Page 2.1 	*BEGIN* PROGRAM CONTROL, 4-AUG-75

					;PDP-10 KL10 PARAMETERS
					
	100056	777777			TENMO:	-1			;PDP-10 MINUS ONE
	100060	777777				-1
	100062	000017				17
					
	100064	000440			TDIAG:	$STD		;DIAGNOSTIC START ADDRESS
	100066	000000				0
					
	100070	000441			TDDT:	$DDT		;DDT START ADDRESS
	100072	000000				0
					
	100074	000442			TLDR:	$STL		;LOADER START ADDRESS
	100076	000000				0
					
	100100	000443			TMON:	$STM		;MONITOR START ADDRESS
	100102	000000				0
					
	100104	060650			EMTIMO:	25000.		;EM/DM TIMEOUT COUNT
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 61
	KLDCP PAL[KL,SYS]	Page 5.2 	*BEGIN* PROGRAM CONTROL, 4-AUG-75

					
								;console code
					.INSRT	CONS11.PAL
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 62
	CONS11 PAL[KL,SYS]	Page 1 	*BEGIN* PROGRAM CONTROL, 4-AUG-75

				COMMENT ⊗   VALID 00061 PAGES
				C REC  PAGE   DESCRIPTION
				C00001 00001
				C00006 00002	.SBTTL	CONSOLE PACKAGE FOR KL10/11 INTERFACE, 9-SEPT-75
				C00008 00003	$KONSL:	TTIBRK			GET BREAK CHAR FROM LAST OPERATION
				C00010 00004	$$CONSL:CLR	RPTFLG		Start here from 100014
				C00013 00005	3$:	MOVB	#40,$KDCEN+1	MAKE SINGLE LETTER COMMAND
				C00015 00006	.SBTTL	CONSOLE DISPATCH TABLE
				C00023 00007	DISPATCH TABLE
				C00028 00008	.SBTTL	DIAGNOSIC CONSOLE UTILITY COMMAND PROCESS
				C00030 00009	.SBTTL	CONSOLE COMMAND REPEAT CONTROL
				C00031 00010	.SBTTL	PROGRAM CONSOLE COMMAND PROCESS
				C00033 00011	PROGRAM INDIRECT CCL FILE PROCESS
				C00035 00012	.SBTTL	DIAGNOSTIC FUNCTIONS
				C00037 00013	DIAGNOSTIC READ AND PRINT
				C00038 00014	.DFDP:	DFLEGAL			FUNCTION LEGAL ?
				C00039 00015	.AR:	TTICHR
				C00040 00016	.BR:	TTICHR
				C00042 00017	.PC:	TTICHR
				C00043 00018	.VM:	DFLEGAL			FUNCTION LEGAL ?
				C00044 00019	PCF COMMAND - PRINT PC FLAGS
				C00047 00020	.FE:	TTITRM
				C00048 00021	PRINT PRIORITY INTERRUPT FUNCTIONS
				C00050 00022	PRINT ALL - C-RAM & REGISTERS
				C00052 00023	.SBTTL	PDP-10 START/STOP FUNCTIONS
				C00054 00024	START PDP-10 DDT
				C00057 00025	PULSE THE E-BOX CLOCK
				C00059 00026	EXECUTE A PDP10 INSTRUCTION.
				C00060 00027		PNTCPU			PRINT C-RAM & REGISTERS
				C00062 00028	SELECT CLOCK SOURCE
				C00063 00029	PROCESSOR PARITY DISABLE
				C00064 00030	PROCESSOR PARITY ENABLE
				C00066 00031	MICRO-CODE SYNC MARK ROUTINES
				C00067 00032	MICRO-CODE TIME FIELD CHANGE ROUTINE
				C00068 00033	CACHE ENABLE
				C00070 00034	AC BLOCK SELECTION
				C00073 00035	START PDP10 AT ADDRESS SPECIFIED AS LOWER 18 BITS OF 36-BIT ARGUMENT.
				C00077 00036	.SBTTL	PDP-10 DEPOSIT AND EXAMINE CONSOLE FUNCTIONS
				C00079 00037	MEMORY ZERO
				C00081 00038	.EXM:	MOV	#.DPXAD,R5
				C00083 00039	.SBTTL	CONSOLE IDLE RUN LOOP
				C00086 00040	MONITOR TELETYPE CHARACTER INPUT -- MTTYIN MTTYI0 MTTYI1 C10DN1 MTTYER MTTYOC MTTYO MTTYP MTTYX MTTYC MTTYCF $MC
				 MTTYS C10DN2
				C00089 00041	.SBTTL	PDP-10 RUN TIME SUPPORT		TENCMD CMD10T C10DON
				C00091 00042	C10DNX, TENCERR
				C00093 00043	C10TO, C10TI
				C00095 00044	Switch functions.  C10SW
				C00098 00045	C10PRG C10PT C10P2 C10P1 C10X1 C10P3 C10P4 C10P5 C10KAS KASET
				C00100 00046	Clock operations.  C10CLK
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 63
	CONS11 PAL[KL,SYS]	Page 1.1 	*BEGIN* PROGRAM CONTROL, 4-AUG-75

				C00110 00047	PDP-10 SWITCH REGISTER
				C00112 00048	.SBTTL	PDP-10 PROGRAM COMMAND
				C00114 00049	"DIAMON" FILE READ
				C00116 00050	.SBTTL	PDP-11 CONSOLE FUNCTIONS
				C00117 00051	EXAMINE ELEVEN AT ADDRESS GIVEN
				C00120 00052	DEPOSIT ELEVEN DATA
				C00121 00053	.SBTTL	KL10 MONITOR & ACT10 COMMAND ROUTINES
				C00123 00054	.IF DF MONASB
				C00125 00055	SRT11X:	MOV	PGOADR,SEADR
				C00127 00056	.IF DF MONASB
				C00129 00057	ADRERR:	PMSG	<?ADR>
				C00130 00058	.SBTTL	LINE PRINTER SELECTION ROUTINE
				C00134 00059	.SBTTL	CONSOLE TELETYPE FUNCTIONS
				C00135 00060	.SBTTL	KLINIK FIELD SERVICE REMOTE DIAGNOSTICS ENABLE
				C00137 00061	 FSRLEN FSRINT FSINT1 FSXIT FSINT2 FSXITC FSINTA FSINT3 FSINT4 FSXITA FSIN4R FSIN4D FSIN4E FSIN4W HANGUP HANGU1 
				FSHNG1 FSINT5 FSIN5A FSTINT FSTYP FSTYP1 FSTYP2 FSCLKR FSMSG FSLOSM PWORD PWLEN $HU
				C00145 ENDMK
					C⊗;
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 64
	CONS11 PAL[KL,SYS]	Page 2 	CONSOLE PACKAGE FOR KL10/11 INTERFACE, 9-SEPT-75

					.SBTTL	CONSOLE PACKAGE FOR KL10/11 INTERFACE, 9-SEPT-75
					
	100106	012737	000140	177776	CONSL:	MOV	#CPUPR,PS	;SET CPU PRIORITY.
	100114	012706	157776			MOV	#STACK,SP	;RESET STACK
	100120	012700	122752			MOV	#$STUF,R0	;SETUP FOR STACK UNDERFLOW
	100124	010016				MOV	R0,(SP)
					1$:	PUSH	R0
					
	100130	010637	147756			MOV	SP,$KONSP
					
	100134	013706	147756		KONSL:	MOV	$KONSP,SP	;RESET STACK POINTER
					
	100140	012737	104000	147444	.IIF NE EPTREL,	MOV	#PHYS!PRTOFF,$TADSP	;DEFAULT ADDR MODE FOR EXDEP
					
	100146	104217				TTPINI			;INIT TTY POINTERS
					
	100150	005037	147760			CLR	DDTFLG
	100154	005037	147644			CLR	IFILEF
	100160	005037	150742			CLR	HLPPNT
	100164	005037	152234			CLR	PCMDFLG
	100170	104043				PFORCE			;ALL OUTPUT TO TTY
					
	100172	004737	115172			JSR	PC,$CKSUM	;COMPUTE CHECKSUM OF "KLDCP"
					
	100176	020037	157314			CMP	R0,$ILDSUM	;DOES IT MATCH AS LOADED ?
	100202	001404				BEQ	2$		;YES, OK !!!!
					
	100204	010037	157314			MOV	R0,$ILDSUM	;NO, ONLY REPORT CHANGES
						PMSG	<?"KLDCP" CKSUM\>
	100210	104025				  $PMSG
	100212	145030				  $$CLIT
					
	100214	005737	147640		2$:	TST	JFILEF
	100220	001044				BNE	$$CONSL
						PMSG	<CMD:\>
	100222	104025				  $PMSG
	100224	145050				  $$CLIT
	100226	000441				BR	$$CONSL
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 65
	CONS11 PAL[KL,SYS]	Page 3 	CONSOLE PACKAGE FOR KL10/11 INTERFACE, 9-SEPT-75

	100230	104015			$KONSL:	TTIBRK			;GET BREAK CHAR FROM LAST OPERATION
	100232	103454				 BCS	$KONS1		;NO DATA
	100234	122700	000054			CMPB	#',,R0		;WAS LAST BREAK A COMMA ?
	100240	001506				BEQ	$RPT		;BR IF YES, CONTINUE STRING PROCESS
	100242	122700	000040			CMPB	#' ,R0		;WAS LAST BREAK A SPACE ?
	100246	001503				BEQ	$RPT		;YES, CONTINUE STRING PROCESS
	100250	122700	000011			CMPB	#TAB,R0		;WAS LAST BREAK A TAB ?
	100254	001500				BEQ	$RPT		;YES, CONTINUE STRING PROCESS
	100256	005700				TST	R0
	100260	001411				BEQ	11$		;NULL, EOL
	100262	022700	000012			CMP	#LF,R0		;IS IT LF ?
	100266	001406				BEQ	11$		;YES
	100270	022700	000033			CMP	#ALTMOD,R0
	100274	001403				BEQ	11$		;IS IT ALTMODE ?
	100276	022700	000015			CMP	#CR,R0		;IS IT A CR ?
	100302	001011				BNE	2$		;NO, INVALID TERMINATION
					
	100304	005737	147752		11$:	TST	RPTFLG		;PRESENTLY DOING A REPEAT ?
	100310	001425				BEQ	$KONS1		;BR IF NO
					
	100312	004737	116544			JSR	PC,$PTTYC	;CHECK OPERATOR INTERRUPT
					
	100316	012737	150522	150736	1$:	MOV	#$INBUF+2,$INPTC	;REPEAT, REDO COMMAND
	100324	000454				BR	$RPT
					
	100326	000137	100574		2$:	JMP	$CMDER
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 66
	CONS11 PAL[KL,SYS]	Page 4 	CONSOLE PACKAGE FOR KL10/11 INTERFACE, 9-SEPT-75

	100332	005037	147752		$$CONSL:CLR	RPTFLG		;Start here from 100014
	100336	005037	151144			CLR	DVDIRF		;CLEAR DEVICE DIRECTORY FLAG
					
									;IN CASE OF START AT 100000+X FROM CONSOLE
					.IF DF TELASB
	100342	032777	000004	777460		BIT #DLRTS,@$FSTKS
	100350	001002				BNE 1$			;RTS STILL SET, ASSUME OK
	100352	004737	114050			JSR PC,HANGU1		;RTS OFF, MUST HAVE BEEN RANDOM INIT, SO HANGUP
					1$:
					.ENDC ;DF TELASB
					.LIF DF SAILVR
	100356	052737	000100	177546		BIS #100,KWLKS		;SET CLOCK INTERRUPT ENABLE
					
	100364	005737	152234		$KONS1:	TST	PCMDFLG		;DOING PROGRAM COMMAND ?
	100370	001402				BEQ	1$		;NO
	100372	000137	101526			JMP	PCMDE		;YES, RETURN TO PROGRAM
	100376	005737	147644		1$:	TST	IFILEF		;PROCESSING INDIRECT FILE ?
	100402	001402				BEQ	2$		;NO
	100404	000137	101666			JMP	IFILIN		;YES, GET CHARS FROM STORAGE
	100410	005737	147640		2$:	TST	JFILEF		;DOING DOUBLE INDIRECT ?
	100414	100002				BPL	$KONS2		;NO
	100416	000137	101730			JMP	JFILIN		;YES, GET CHARS FROM STORAGE
	100422	010637	147756		$KONS2:	MOV	SP,$KONSP	;SAVE STACK POINTER
	100426	104043			1$:	PFORCE
	100430	104214				PNTCI
	100432	000076				'>
						PMSG	<. ←>
	100434	104025				  $PMSG
	100436	145056				  $$CLIT
	100440	104003			2$:	RUNLP			;RUN LOOP &/OR READ IN A TTY LINE
	100442	103005				 BCC	$RPT		;RESPONSE, GO PROCESS
	100444	022737	150520	150740		CMP	#$INBUF,$INPTR	;ANYTHING BEEN TYPED ?
	100452	001365				BNE	1$		;YES, REPROMPT
	100454	000771				BR	2$
					
	100456	005037	147754		$RPT:	CLR	ALLFLG		;CLEAR ALL PRINT FLAG
	100462	104016				TTISDL			;READ ONE CHARACTER
	100464	103043				 BCC	$CMDER		;...NUMBER, ILLEGAL
	100466	122700	000073		1$:	CMPB	#';,R0
	100472	001717				BEQ	$$CONSL		;SEMICOLON, LOCAL COPY ONLY
	100474	122700	000056			CMPB	#'.,R0
	100500	001766				BEQ	$RPT		;DOT, IGNORE
	100502	110037	101140			MOVB	R0,$KDCEN	;PLACE IN END OF DECODER
					
	100506	104005				TTICHR			;READ SECOND CHARACTER
	100510	103725				 BCS	$KONS1		;EVEN 1 CHAR CMDS ARE 2 CHAR MIN.
	100512	122700	000012			CMPB	#12,R0		;IF THIS CHAR IS A LINE FEED
	100516	001722				BEQ	$KONS1		;..1ST CHAR MUST HAVE BEEN CR, IGNORE
	100520	122700	000015			CMPB	#15,R0		;IF THIS CHAR A CR
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 67
	CONS11 PAL[KL,SYS]	Page 4.1 	CONSOLE PACKAGE FOR KL10/11 INTERFACE, 9-SEPT-75

	100524	001417				BEQ	3$		;THIS IS A SINGLE LETTER COMMAND
	100526	122700	000033			CMPB	#33,R0		;IF ALTMODE
	100532	001414				BEQ	3$		;       DITTO
	100534	110037	101141			MOVB	R0,$KDCEN+1	;PLACE SECOND IN END OF DECODER
					
					;THE COMMAND PORTION OF THE INPUT STRING IS READY TO BE DECODED
					
	100540	013700	101140		4$:	MOV	$KDCEN,R0	;COMMAND TO R0
	100544	012701	100674			MOV	#$KDCRE,R1	;ADDRESS OF LIST TO R1
					
	100550	020021			2$:	CMP	R0,(R1)+	;TEST FOR COMMAND
	100552	001376				BNE	2$		;NOT FOUND YET
	100554	005037	101140			CLR	$KDCEN
					.LIF DF MONASB
						CLR	ENQFLG
	100560	000171	000244			JMP	@$DISPH-$KDCRE-2(R1)	;EXIT TO SELECTED SUBROUTINE
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 68
	CONS11 PAL[KL,SYS]	Page 5 	CONSOLE PACKAGE FOR KL10/11 INTERFACE, 9-SEPT-75

	100564	112737	000040	101141	3$:	MOVB	#40,$KDCEN+1	;MAKE SINGLE LETTER COMMAND
	100572	000762				BR	4$		;LETTER & SPACE FOR LOOKUP
					
	100574	104214			$CMDER:	PNTCI
	100576	000077				'?
	100600	000411				BR	$$$CC
					
	100602	005037	151140		$$CNTLC:CLR	DIAFLG
	100606	105037	147710			CLRB	TENRUN		;CLEAR PDP-10 RUNNING FLAG
	100612	005737	152234			TST	PCMDFLG		;DOING PROGRAM COMMAND ?
	100616	001002				BNE	$$$CC		;YES
	100620	005037	147634			CLR	PRGRUN		;CLEAR PROGRAM RUNNING FLAG
	100624	104055			$$$CC:	SETFLG
	100626	150004				  $TTLKF
	100630	005737	157310			TST	DEVTYP		;IN ACT10 MODE ?
	100634	100000				BPL	1$		;NO
					.IF DF MONASB
						TST	ENQFLG		;DOING APT10 COMMAND ?
						BEQ	1$		;NO
						COMCLR			;ACT10, CLEAR COMM, THEN TO CONSL
					.ENDC
					1$:	PUSH	$FORCE		;SAVE FORCED PRINTING FLAG
	100642	104043				PFORCE
	100644	104031				PCRLF			;FORCE PRINT ERROR
						POP	$FORCE		;RESTORE
					
	100652	005737	152234			TST	PCMDFLG		;DOING PROGRAM COMMAND ?
	100656	001402				BEQ	2$		;NO
	100660	000137	101546			JMP	PCMDE1		;YES, TAKE ERROR RETURN
					
	100664	005037	147640		2$:	CLR	JFILEF		;CLEAR DOUBLE INDIRECT FLAG
	100670	000137	100134			JMP	KONSL
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 69
	CONS11 PAL[KL,SYS]	Page 6 	CONSOLE DISPATCH TABLE

					.SBTTL	CONSOLE DISPATCH TABLE
					
	100674	   122		
	100675	   040		
					$KDCRE:	.ASCII	/R /		;REPEAT OPERATOR
	100676	   106		
	100677	   130		
						.ASCII	/FX/		;DIAGNOSTIC FUNCTION EXECUTE
	100700	   106		
	100701	   127		
						.ASCII	/FW/		;DIAGNOSTIC FUNCTION WRITE
	100702	   106		
	100703	   122		
						.ASCII	/FR/		;DIAGNOSTIC FUNCTION READ
	100704	   106		
	100705	   123		
						.ASCII	/FS/		;DIAGNOSTIC FUNCTION SYNC
	100706	   104		
	100707	   101		
						.ASCII	/DA/		;DIAGNOSTIC DEPOSIT INTO AR
	100710	   105		
	100711	   130		
						.ASCII	/EX/		;PDP-10 INSTRUCTION EXECUTE
	100712	   115		
	100713	   122		
						.ASCII	/MR/		;MASTER RESET
					
					;PDP-10 EXAMINE/DEPOSIT FUNCTIONS
					
	100714	   105		
	100715	   115		
						.ASCII	/EM/		;EXAMINE 10 AT ADR AND PRINT
	100716	   104		
	100717	   115		
						.ASCII	/DM/		;DEPOSIT DATA IN 10 ADDRESS
	100720	   105		
	100721	   116		
						.ASCII	/EN/		;EXAMINE AND PRINT NEXT 10 ADDRESSES
	100722	   104		
	100723	   116		
						.ASCII	/DN/		;DEPOSIT DATA INTO NEXT 10 ADDRESSES
	100724	   115		
	100725	   132		
						.ASCII	/MZ/		;MEMORY ZERO
					
					;START/STOP FUNCTIONS
					
	100726	   123		
	100727	   120		
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 70
	CONS11 PAL[KL,SYS]	Page 6.1 	CONSOLE DISPATCH TABLE

						.ASCII	/SP/		;STOP 10, CLEAR RUN FLOP
	100730	   122		
	100731	   116		
						.ASCII	/RN/		;START 10, SET RUN FLOP
	100732	   123		
	100733	   111		
						.ASCII	/SI/		;SINGLE INSTRUCTION,PUSH CONTINUE
	100734	   120		
	100735	   114		
						.ASCII	/PL/		;PULSE CLOCK
	100736	   102		
	100737	   125		
						.ASCII	/BU/		;BURST CLOCK
	100740	   123		
	100741	   115		
						.ASCII	/SM/		;START MICRO CODE,SUPPORT EXAMINE/DEPOSIT
	100742	   123		
	100743	   124		
						.ASCII	/ST/		;START AT 10 ADDRESS
	100744	   123		
	100745	   127		
						.ASCII	/SW/		;PDP-10 SWITCHES
	100746	   101		
	100747	   103		
						.ASCII	/AC/		;"AC BLK" SELECTION
	100750	   115		
	100751	   103		
						.ASCII	/MC/		;PDP-10 MONITOR CONTINUE
					.LIF DF %%EOP
						.ASCII	/EP/		;SET EOP INTERVAL
					
					;PDP-11 FUNCTIONS
					
	100752	   123		
	100753	   105		
						.ASCII	/SE/		;START 11 AT ADR
	100754	   105		
	100755	   105		
						.ASCII	/EE/		;EXAMINE 11 AT ADR AND PRINT
	100756	   104		
	100757	   105		
						.ASCII	/DE/		;DEPOSIT DATA IN 11 ADDRESS
	100760	   105		
	100761	   102		
						.ASCII	/EB/		;EXAMINE 11 BYTE
	100762	   104		
	100763	   102		
						.ASCII	/DB/		;DEPOSIT 11 BYTE
	100764	   132		
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 71
	CONS11 PAL[KL,SYS]	Page 6.2 	CONSOLE DISPATCH TABLE

	100765	   105		
						.ASCII	/ZE/		;ZERO ELEVEN
					
					;RAM FUNCTIONS
					
	100766	   105		
	100767	   103		
						.ASCII	/EC/		;EXAMINE C-RAM AT ADDRESS AND PRINT
	100770	   104		
	100771	   103		
						.ASCII	/DC/		;DEPOSIT DATA INTO C-RAM ADDRESS
	100772	   122		
	100773	   103		
						.ASCII	/RC/		;READ C-RAM, FR'S 140-141-142-143
	100774	   105		
	100775	   104		
						.ASCII	/ED/		;EXAMINE D-RAM AT ADDRESS AND PRINT
	100776	   104		
	100777	   104		
						.ASCII	/DD/		;[START DDT] OR DEPOSIT D-RAM
	101000	   115		
	101001	   115		
						.ASCII	/MM/		;MICRO-CODE SYNC MARK
	101002	   115		
	101003	   125		
						.ASCII	/MU/		;MICRO-CODE SYNC UNMARK
	101004	   115		
	101005	   124		
						.ASCII	/MT/		;MICRO-CODE TIME CHANGE
					
					;CLOCK OPERATIONS
					
	101006	   103		
	101007	   123		
						.ASCII	/CS/		;CLOCK SOURCE
	101010	   103		
	101011	   122		
						.ASCII	/CR/		;CLOCK RATE
					
					;PROCESSOR PARITY FUNCTIONS
					
	101012	   120		
	101013	   104		
						.ASCII	/PD/		;DISABLE PARITY STOP
	101014	   120		
	101015	   105		
						.ASCII	/PE/		;ENABLE PARITY STOP
					
					;INTERNAL E-BOX REGISTER READ FUNCTIONS
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 72
	CONS11 PAL[KL,SYS]	Page 6.3 	CONSOLE DISPATCH TABLE

					
	101016	   101		
	101017	   122		
						.ASCII	/AR/		;READ & PRINT AR REGISTER
	101020	   102		
	101021	   122		
						.ASCII	/BR/		;READ & PRINT BR REGISTER
	101022	   115		
	101023	   121		
						.ASCII	/MQ/		;READ & PRINT MQ REGISTER
	101024	   106		
	101025	   115		
						.ASCII	/FM/		;READ & PRINT FM REGISTER
	101026	   101		
	101027	   104		
						.ASCII	/AD/		;READ & PRINT ADDER
	101030	   120		
	101031	   103		
						.ASCII	/PC/		;READ & PRINT PC
	101032	   126		
	101033	   115		
						.ASCII	/VM/		;READ & PRINT VMA
	101034	   123		
	101035	   103		
						.ASCII	/SC/		;READ & PRINT SC REGISTER
	101036	   106		
	101037	   105		
						.ASCII	/FE/		;READ & PRINT FE REGISTER
	101040	   105		
	101041	   122		
						.ASCII	/ER/		;READ & PRINT E-BUS REGISTER
	101042	   120		
	101043	   111		
						.ASCII	/PI/		;READ & PRINT PI SYSTEM
	101044	   101		
	101045	   114		
						.ASCII	/AL/		;PRINT ALL, C-RAM & REGISTERS
					
					;CACHE OPERATIONS
					
	101046	   103		
	101047	   105		
						.ASCII	/CE/		;CACHE ENABLE
	101050	   103		
	101051	   111		
						.ASCII	/CI/		;CACHE INVALIDATE
	101052	   103		
	101053	   106		
						.ASCII	/CF/		;CACHE FLUSH
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 73
	CONS11 PAL[KL,SYS]	Page 6.4 	CONSOLE DISPATCH TABLE

					
					;REPEAT CONTROL
					
	101054	   122		
	101055	   120		
						.ASCII	/RP/		;REPEAT & PRINT OR RP04 SELECT
	101056	   124		
	101057	   104		
						.ASCII	/TD/		;TIME DELAY
					
					;CONSOLE (TTY) CONTROL FUNCTION
					
	101060	   124		
	101061	   120		
						.ASCII	/TP/		;SET TTY PAGE LENGTH
	101062	   124		
	101063	   127		
						.ASCII	/TW/		;SET TTY PAGE WIDTH
	101064	   124		
	101065	   106		
						.ASCII	/TF/		;SET TTY FILL COUNT
					
					.LIF DF UTLASB
						.ASCII	/TT/		;SWITCH TO REMOTE TELETYPE OPERATION
					
					.LIF DF LPASB
						.ASCII	/LP/		;LINE PRINTER SELECTION
					
					.IF NDF TELASB
						.ASCII	/KL/		;KLINIK SELECTION
					.IFF
	101066	   110		
	101067	   125		
						.ASCII /HU/		;HANGUP
					.ENDC
					
					;KL10 MONITOR (PROGRAM & ACT10) COMMANDS
					
					.IF DF MONASB
						.ASCII	/B /		;BOOT
						.ASCII	/LI/		;LOGIN
					.ENDC
	101070	   110		
	101071	   040		
						.ASCII	/H /		;HELP
	101072	   120		
	101073	   040		
						.ASCII	/P /		;PROGRAM
	101074	   114		
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 74
	CONS11 PAL[KL,SYS]	Page 6.5 	CONSOLE DISPATCH TABLE

	101075	   124		
						.ASCII	/LT/		;LOAD TEN
	101076	   114		
	101077	   105		
						.ASCII	/LE/		;LOAD ELEVEN
	101100	   114		
	101101	   122		
						.ASCII	/LR/		;LOAD RAM
	101102	   114		
	101103	   102		
						.ASCII	/LB/		;LOAD ELEVEN BINARY
					
					.LIF DF BOOASB
	101104	   114		
	101105	   104		
						.ASCII	/LD/		;LOAD DSKDMP BOOTSTRAP LOADER
					
	101106	   126		
	101107	   040		
						.ASCII	/V /		;VERFIY PROGRAM
	101110	   103		
	101111	   040		
						.ASCII	/C /		;COMMENT/CORRECTIVE ACTION
					.IF DF MONASB
						.ASCII	/S /		;SCRIPT
						.ASCII	/M /		;MASTER SCRIPT
						.ASCII	/LO/		;LOGOUT
						.ASCII	/GS/		;GENERATE SCRIPT
					.ENDC
	101112	   107		
	101113	   117		
						.ASCII	/GO/		;GO START PROGRAM
					;;;;	.ASCII	/CD/		;PDP-11 CORE DUMP
					
					.IF DF RPASB
					.IF DF UTLASB
						.ASCII	/TA/		;ACT10 TO RP04 TRANSFER
						.ASCII	/WF/		;DECTAPE TO RP04 WRITE
					.ENDC
						.ASCII	/RE/		;'RENM' RENAME RP04 FILE
					.ENDC
					
					.IF DF MONASB
						.ASCII	/T /		;TIME
						.ASCII	/BT/		;BOOT TEN
						.ASCII	/AT/		;SWITCH TO ACT10 MODE
					.ENDC
					
	101114	   104		
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 75
	CONS11 PAL[KL,SYS]	Page 6.6 	CONSOLE DISPATCH TABLE

	101115	   124		
						.ASCII	/DT/		;SWITCH TO DECTAPE MODE, SELECT UNIT
					
					.LIF DF RXASB
						.ASCII	/RX/		;SWITCH TO FLOPPY MODE, SELECT UNIT
					
	101116	   104		
	101117	   111		
						.ASCII	/DI/		;DIRECTORY, DECTAPE/RP04/FLOPPY
					
					.IF DF BPTASB
						.ASCII	/BP/		;BREAKPOINT TRAP LAYER
						.ASCII	/BC/		;BREAKPOINT CONTINUE
						.ASCII	/RG/		;TYPE OUT BREAK STUFF
						.ASCII	/RB/		;REMOVE BREAKPOINTS
					.ENDC
					
	101120	   110		
	101121	   103		
						.ASCII	/HC/		;ERROR HALT CONTINUE
					
	101122	   122		
	101123	   111		
						.ASCII	/RI/		;REINITIALIZE SYSTEM
					
	101124	   111		
	101125	   040		
						.ASCII	/I /		;INDIRECT COMMAND FILE PROCESS
	101126	   112		
	101127	   040		
						.ASCII	/J /		;DOUBLE INDIRECT COMMAND FILE
	101130	   112		
	101131	   103		
						.ASCII	/JC/		;"J" FILE CONTINUE
					
					.LIF DF BOOASB
	101132	   104		
	101133	   123		
						.ASCII	/DS/		;LOAD DSKDMP BOOTSTRAP INTO 10 MEM AND START
	101134	   126		
	101135	   102		
						.ASCII  /VB/		;COMPLEMENT VERBOSE FLAG
	101136	   113		
	101137	   101		
						.ASCII	/KA/		;ENABLE KASIM
					
	101140	000000			$KDCEN:	0			;ERROR TRAP FOR NONEXISTANT COMMANDS
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 76
	CONS11 PAL[KL,SYS]	Page 7 	CONSOLE DISPATCH TABLE

					;DISPATCH TABLE
					
	101142	101410			$DISPH:	.RPT			;REPEAT OPERATION
	101144	102014				.DFXCT			;DIAGNOSTIC FUNCTION EXECUTE
	101146	102032				.DFWRT			;   "         "      WRITE
	101150	102112				.DFRD			;   "         "      READ
	101152	102070				.FS			;   "         "      SYNC
	101154	102610				.DA			;   "       DEPOSIT INTO AR
	101156	104432				.XCT			;EXECUTE 10 INSTRUCTION
	101160	102602				.MRESET			;MASTER RESET
	101162	106622				.EXM			;EXAMINE 10
	101164	106276				.DP			;DEPOSIT 10
	101166	107004				.EXMNX			;EXAMINE NEXT 10
	101170	106346				.DPNX			;DEPOSIT NEXT 10
	101172	106450				.MZ			;MEMORY ZERO
	101174	103750				$SP			;STOP 10
	101176	104000				$RN			;RUN 10
	101200	104220				$SI			;SINGLE INSTRUCT 10
	101202	104320				.PL			;PULSE 10
	101204	104602				.BU			;BURST CLOCK
	101206	104364				.SM			;START MACHINE
	101210	105776				$ST			;START 10
	101212	110300				$SW			;SWITCHES 10
	101214	105544				.AC			;"AC BLK" SELECTION
	101216	107364				$MC			;MONITOR CONTINUE
					.LIF DF %%EOP
						.EP			;SET EOP INTERVAL
	101220	112402				.SE			;START ELEVEN
	101222	112450				.EE			;EXAMINE ELEVEN
	101224	112652				.DE			;DEPOSIT ELEVEN
	101226	112456				.EB			;EXAMINE 11 BYTE
	101230	112660				.DB			;DEPOSIT 11 BYTE
	101232	112632				.ZE			;ZERO ELEVEN
	101234	126242				$EC			;EXAMINE C←RAM
	101236	127734				$DC			;DEPOSIT C-RAM
	101240	126656				$RC			;READ C-RAM
	101242	127472				$ED			;EXAMINE D←RAM
	101244	104112				$DDTX			;[START DDT] OR DEPOSIT D←RAM
	101246	105240				.MM			;MICRO-CODE MARK
	101250	105232				.MU			;MICRO-CODE UNMARK
	101252	105312				.MT			;MICRO-CODE TIME CHANGE
	101254	104632				.CS			;SELECT CLOCK SOURCE
	101256	104742				.CR			;SELECT CLOCK RATE
	101260	104774				.PD			;PROCESSOR PARITY DISABLE
	101262	105102				.PE			;PROCESSOR PARITY ENABLE
	101264	102400				.AR			;READ REGISTERS
	101266	102512				.BR
	101270	102304				.MQ
	101272	102320				.FM
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 77
	CONS11 PAL[KL,SYS]	Page 7.1 	CONSOLE DISPATCH TABLE

	101274	102442				.AD
	101276	102626				.PC
	101300	102732				.VM
	101302	103316				.SC
	101304	103302				.FE
	101306	102554				.ERG
	101310	103414				.PI			;READ & PRINT PI SYSTEM
	101312	103550				.ALL			;PRINT ALL
	101314	105400				.CE			;CACHE ENABLE
	101316	104374				.CI			;CACHE INVALIDATE
	101320	104412				.CF			;CACHE FLUSH
	101322	101422				.RPTP			;REPEAT & PRINT
	101324	122576				.TD			;TIME DELAY
	101326	113404				$TP			;SET TTY PAGE LENGTH
	101330	113412				$TW			;SET TTY PAGE WIDTH
	101332	113434				$TF			;SET TTY FILL PARAMETER
					.LIF DF UTLASB
						$TT			;SWITCH TO REMOTE TTY
					
					.LIF DF LPASB
						$LPT			;LINE PRINTER SELECTION
					
					.IF NDF TELASB
						.KLINIK			;KLINIK SELECTION
					.IFF
	101334	114476				$HU			;HANG UP
					.ENDC
					
					;KL10 MONITOR (PROGRAM & ACT10) COMMANDS
					
					.IF DF MONASB
						$BOOT			;BOOT SYSTEM
						$LOGIN			;LOG IN
					.ENDC
	101336	113132				$HELP			;HELP
	101340	113036				$PROG			;LOAD PROGRAM
	101342	112766				$LDT			;LOAD TEN
	101344	112776				$LDE			;LOAD ELEVEN
	101346	113006				$LDR			;LOAD RAM
	101350	113016				$LDB			;LOAD ELEVEN BINARY
					
					.LIF DF BOOASB
	101352	113026				$LDD			;LOAD DSKDMP BOOT
					
	101354	112752				$VERIFY			;VERIFY PROGRAM
	101356	113344				$COMNT			;COMMENT
					.IF DF MONASB
						$SCRPT			;SCRIPT REQUEST
						$MSCP			;MASTER SCRIPT REQUEST
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 78
	CONS11 PAL[KL,SYS]	Page 7.2 	CONSOLE DISPATCH TABLE

						$LOGO			;LOG OUT
						$GSCP			;GENERATE SCRIPT
					.ENDC
	101360	113212				$GO			;PROGRAM GO
					;;;;	$CD			;PDP-11 CORE DUMP
					
					.IF DF RPASB
					.IF DF UTLASB
						$TA			;ACT10 TO RP04 TRANSFER
						$WF			;DECTAPE TO RP04 WRITE FILE
					.ENDC
						$RE			;'RENM' RP04 RENAME FILE
					.ENDC
					
					.IF DF MONASB
						$TIME			;TIME
						$BOOTT			;BOOT PDP-10
						$AT			;SELECT ACT-10 MODE
					.ENDC
	101362	113150				$DT			;SELECT DECTAPE MODE & UNIT
					
					.LIF DF RXASB
						$RX			;SELECT FLOPPY MODE & UNIT
					
	101364	133724				$DI			;DIRECTORY, DECTAPE/RP04/FLOPPY
					
					.IF DF BPTASB
						.BP			;BREAKPOINT INSERTION
						.BC			;BREAKPOINT CONTINUE
						.RG			;PRINT SAVED REGISTERS
						.RB			;REMOVE BREAKPOINTS
					.ENDC
					
	101366	115464				.HC			;HALT CONTINUE
	101370	113374				.RI			;REINITIALIZE CONSOLE
	101372	113104				$IFILE			;INDIRECT FILE
	101374	113064				$JFILE			;DOUBLE INDIRECT FILE
	101376	113232				$JC			;J FILE CONTINUE
					
					.LIF DF BOOASB
	101400	135472				$DS			;LOAD AND START DSKDMP BOOTSTRAP PROGRAM
	101402	106404				$VB			;COMPLEMENT VERBOSE TYPEOUT
	101404	106440				$KA			;ENABLE KASIM
					
	101406	100574				$CMDER			;NO SUCH COMMAND
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 79
	CONS11 PAL[KL,SYS]	Page 8 	DIAGNOSIC CONSOLE UTILITY COMMAND PROCESS

					.SBTTL	DIAGNOSIC CONSOLE UTILITY COMMAND PROCESS
					
					.IF DF UTLASB
					
					;UTILITY PROGRAM CHECK
					
					$KLUCK:	CMP	PID,PIDU	;UTILITY PROGRAM IN CORE ?
						BNE	1$
						CMP	PID+2,PIDU+2
						BNE	1$
						CMP	PDVER,#DECVER	;PROPER VERSION ?
						BNE	1$
						RTS	PC		;OK
					
					1$:	PMSG	<PLEASE LOAD "KLDCPU.A11" FIRST>
						JMP	$CNTLC
					
					PIDU:	.RAD50	/KLDCPU/
					
					;TRANSFER FROM APT10 DISPATCH
					
					$TA:	JSR	PC,$KLUCK	;UTILITY IN CORE ?
						JMP	@TAPT		;YES
					
					;WRITE FILE FROM DTA/FLOPPY DISPATCH
					
					$WF:	JSR	PC,$KLUCK	;UTILITY IN CORE ?
						JMP	@WFILE		;YES
					
					;REMOTE TELETYPE COMMUNICATIONS DISPATCH
					
					$TT:	JSR	PC,$KLUCK	;UTILITY IN CORE ?
						JMP	@REMOTE		;YES
					
					;RP04 DISK DIRECTORY DISPATCH
					
					.IF DR RPASB
					$RPDIR:	JSR	PC,$KLUCK	;UTILITY IN CORE ?
						JMP	@DSKDIR		;YES
					.ENDC
					
					.ENDC
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 80
	CONS11 PAL[KL,SYS]	Page 9 	CONSOLE COMMAND REPEAT CONTROL

					.SBTTL	CONSOLE COMMAND REPEAT CONTROL
					
	101410	104055			.RPT:	SETFLG
	101412	147752				  RPTFLG		;SET REPEAT FLAG
					
	101414	104044			.RPTX:	PNORML
	101416	000137	100456			JMP	$RPT
					
	101422	104016			.RPTP:	TTISDL
	101424	103005				 BCC	1$		;NUMBER
	101426	104144				TTBACK
	101430	012737	177400	147752		MOV	#177400,RPTFLG	;SET REPEAT & PRINT
	101436	000766				BR	.RPTX
					
	101440	000137	100574		1$:	JMP	$RP		;MUST BE RP04 SELECTION
					
		100574			.IIF NDF RPASB,$RP==$CMDER
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 81
	CONS11 PAL[KL,SYS]	Page 10 	PROGRAM CONSOLE COMMAND PROCESS

					.SBTTL	PROGRAM CONSOLE COMMAND PROCESS
					
	101444	104055			$PRGNPT:SETFLG			;PROGRAM COMMAND, NO PRINT
	101446	152232				  PCMDNF
	101450	000402				BR	$PRGXX
	101452	005037	152232		$PRGCMD:CLR	PCMDNF
	101456	104055			$PRGXX:	SETFLG
	101460	152234				  PCMDFLG		;SET PROGRAM COMMAND FLAG
	101462	005700				TST	R0
	101464	001411				BEQ	2$		;USE CURRENT INPUT BUFFER, R0=0
	101466	022700	777777			CMP	#-1,R0
	101472	001004				BNE	3$
	101474	012700	150274			MOV	#$OUTBF,R0	;USE OUTPUT BUFFER, R0 = -1
	101500	010037	150514			MOV	R0,$OUTPT
	101504	004737	101606		3$:	JSR	PC,$PCMDX	;TRANSFER COMMAND TO INPUT BUFFER
	101510	012737	150520	150736	2$:	MOV	#$INBUF,$INPTC	;SET PICKUP POINTER
	101516	010637	147650			MOV	SP,$$SVSP	;SAVE STACK POINTER
	101522	000137	100456			JMP	$RPT		;PROCESS COMMAND
					
	101526	013706	147650		PCMDE:	MOV	$$SVSP,SP	;RESTORE STACK POINTER
	101532	005037	152234			CLR	PCMDFLG
	101536	005037	152232			CLR	PCMDNF
					.LIF DF MONASB
						CLR	ENQFLG
						EXIT
	101542	000137	124062			  JMP	$EXIT
	101546	013706	147650		PCMDE1:	MOV	$$SVSP,SP
	101552	005037	152234		PCMDE3:	CLR	PCMDFLG		;ERROR, C-BIT SET RETURN
	101556	005037	152232			CLR	PCMDNF
	101562	005037	150742			CLR	HLPPNT
						EXITERR
	101566	000137	124034			  JMP	$EXITE
	101572	013706	147650		PCMDE2:	MOV	$$SVSP,SP
	101576	052766	000010	000014		BIS	#NBIT,14(SP)	;CONTROL C DURING TYPEOUT
	101604	000762				BR	PCMDE3		;NBIT & CBIT SET RETURN
					
	101606	012701	150520		$PCMDX:	MOV	#$INBUF,R1	;MOVE COMMAND TO INPUT BUFFER
		101612			$DIASX=.
	101612	112021			1$:	MOVB	(R0)+,(R1)+	;TRANSFER CHARS
	101614	001376				BNE	1$		;TILL NULL
	101616	005301				DEC	R1
	101620	112721	000015			MOVB	#CR,(R1)+
	101624	112721	000012			MOVB	#LF,(R1)+
	101630	010137	150740			MOV	R1,$INPTR	;SAVE EOL POINTER
	101634	000207				RTS	PC
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 82
	CONS11 PAL[KL,SYS]	Page 11 	PROGRAM CONSOLE COMMAND PROCESS

					;PROGRAM INDIRECT CCL FILE PROCESS
					
	101636	013701	147642		$TTICCL:MOV	IFINP,R1	;XFER CHARS INTO INPUT BUFFER
	101642	105711				TSTB	(R1)		;FIRST CHAR A NULL ?
	101644	001406				BEQ	1$		;YES, FINISHED
	101646	004737	101772			JSR	PC,IJFILX
	101652	010137	147642			MOV	R1,IFINP	;RESAVE POINTER
						EXIT
	101656	000137	124062			  JMP	$EXIT
					1$:	EXITERR			;FINISHED, C-BIT SET RETURN
	101662	000137	124034			  JMP	$EXITE
					
					;INDIRECT COMMAND FILE PROCESS
					
	101666	013701	147642		IFILIN:	MOV	IFINP,R1	;XFER CHARS INTO INPUT BUFFER
	101672	105711				TSTB	(R1)		;FIRST CHAR A NULL ?
	101674	001413				BEQ	IFILX1		;YES, FINISHED
	101676	004737	101772			JSR	PC,IJFILX
	101702	010137	147642			MOV	R1,IFINP	;RESAVE STORAGE POINTER
	101706	005737	147640			TST	JFILEF		;DON'T PRINT "I" IF UNDER "J"
	101712	001002				BNE	3$
		101714			IFILX=.
	101714	104025				$PMSG			;PRINT COMMAND LINE
	101716	150520				$INBUF
	101720	000137	100456		3$:	JMP	$RPT		;GO PROCESS
					
	101724	000137	100106		IFILX1:	JMP	CONSL		;FINISHED
					
					;DOUBLE INDIRECT COMMAND FILE PROCESS
					
	101730	005737	147634		JFILIN:	TST	PRGRUN		;PROGRAM PRESENTLY RUNNING ?
	101734	001402				BEQ	3$		;NO
	101736	000137	100422			JMP	$KONS2		;YES, WAIT TILL IT'S DONE
	101742	013701	147636		3$:	MOV	JFINP,R1	;XFER CHARS INTO INPUT BUFFER
					
	101746	105711				TSTB	(R1)		;FIRST CHAR A NULL ?
	101750	001405				BEQ	2$		;YES, FINISHED
					
	101752	004737	101772			JSR	PC,IJFILX
	101756	010137	147636			MOV	R1,JFINP	;RESAVE STORAGE POINTER
	101762	000754				BR	IFILX
					
	101764	005037	147640		2$:	CLR	JFILEF
	101770	000755				BR	IFILX1
					
	101772	012700	150520		IJFILX:	MOV	#$INBUF,R0
	101776	010037	150736			MOV	R0,$INPTC
					
	102002	112120			1$:	MOVB	(R1)+,(R0)+
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 83
	CONS11 PAL[KL,SYS]	Page 11.1 	PROGRAM CONSOLE COMMAND PROCESS

	102004	001376				BNE	1$
					
	102006	010037	150740			MOV	R0,$INPTR
	102012	000207				RTS	PC
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 84
	CONS11 PAL[KL,SYS]	Page 12 	DIAGNOSTIC FUNCTIONS

					.SBTTL	DIAGNOSTIC FUNCTIONS
					
					;DIAGNOSTIC FUNCTION EXECUTE
					
	102014	104226			.DFXCT:	DFLEGAL			;FUNCTION LEGAL ?
	102016	104017				TTISDO			;GET FUNCTION
	102020	020027	000037			CMP	R0,#037		;FUNCTION VALID ?
	102024	003026				BGT	$DFERR		;FX IS 000 TO 037
					
	102026	104114				DFXCT			;DF EXECUTE
	102030	000415				BR	.DFX		;RETURN TO CONSOLE
					
					;DIAGNOSTIC FUNCTION WRITE
					
	102032	104226			.DFWRT:	DFLEGAL			;FUNCTION LEGAL ?
	102034	104017				TTISDO			;GET FUNCTION
	102036	020027	000040			CMP	R0,#040
	102042	002417				BLT	$DFERR
	102044	020027	000077			CMP	R0,#077
	102050	003014				BGT	$DFERR		;FW IS 040 TO 077
	102052	010002				MOV	R0,R2		;SAVE FUNCTION
	102054	104020				TTIS36			;GET DATA
	102056	010001				MOV	R0,R1		;PUT ADR OF 36BITS IN R1
						
	102060	010200				MOV	R2,R0		;FUNCTION IN R0
	102062	104120				DFWRT			;DIAGNOSTIC FUNCTION WRITE
					
	102064	000137	100230		.DFX:	JMP	$KONSL
					
					;DIAGNOSTIC FUNCTION SYNC, GENERATES PULSE AT "A36E1"
					
	102070	104226			.FS:	DFLEGAL			;FUNCTION LEGAL ?
	102072	104022				TTITRM
	102074	104115				DFXCTT
	102076	000074				  74			;SYNC IS FUNCTION EXECUTE 74
	102100	000771				BR	.DFX
					
					$DFERR:	PMSG	<?FUNCTION ERR>
	102102	104025				  $PMSG
	102104	145062				  $$CLIT
	102106	000137	100004			JMP	$CNTLC
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 85
	CONS11 PAL[KL,SYS]	Page 13 	DIAGNOSTIC FUNCTIONS

					;DIAGNOSTIC READ AND PRINT
					
	102112	104226			.DFRD:	DFLEGAL			;FUNCTION LEGAL ?
	102114	005003				CLR	R3
	102116	104017				TTISDO			;GET FUNCTION
	102120	010002				MOV	R0,R2
	102122	104015				TTIBRK
	102124	103766				 BCS	$DFERR
	102126	122700	000054			CMPB	#COMMA,R0	;IF BREAK IS A COMMA, MULTIPLE DFRD
	102132	001003				BNE	1$
					
	102134	005203				INC	R3
	102136	104010				TTCOCT
	102140	010004				MOV	R0,R4		;SAVE LAST DFRD
	102142	105737	147752		1$:	TSTB	RPTFLG
	102146	001003				BNE	2$
					
	102150	010200				MOV	R2,R0
	102152	104036				PNTOCS
	102154	104033				PSLASH
	102156	010200			2$:	MOV	R2,R0
	102160	001406				BEQ	21$		;FR 0 USED TO READ E-BUS
	102162	020027	000100			CMP	R0,#100
	102166	002745				BLT	$DFERR
	102170	020027	000177			CMP	R0,#177
	102174	003342				BGT	$DFERR		;FR IS 100 TO 177
	102176	012701	147730		21$:	MOV	#.DFRDA,R1
	102202	104117				DFRDMV
	102204	105737	147752			TSTB	RPTFLG
	102210	001002				BNE	3$
	102212	010100				MOV	R1,R0
	102214	104134				PNT36B			;PRINT IN BINARY
					
	102216	005703			3$:	TST	R3
	102220	001405				BEQ	4$
					
	102222	104031				PCRLF
	102224	020204				CMP	R2,R4
	102226	103002				BHIS	4$
	102230	005202				INC	R2
	102232	000743				BR	1$
					
	102234	000412			4$:	BR	ALLEXT
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 86
	CONS11 PAL[KL,SYS]	Page 14 	DIAGNOSTIC FUNCTIONS

	102236	104226			.DFDP:	DFLEGAL			;FUNCTION LEGAL ?
	102240	012701	147730			MOV	#.DFRDA,R1
	102244	104117				DFRDMV			;READ THE E-BUS
					
	102246	105737	147752			TSTB	RPTFLG
	102252	001304				BNE	.DFX
	102254	012700	147730		.DFDPC:	MOV	#.DFRDA,R0
	102260	104042				PNT36			;PRINT IT OUT
					
	102262	005737	147754		ALLEXT:	TST	ALLFLG		;DOING ALL ?
	102266	001005				BNE	1$		;YES
	102270	105737	147752			TSTB	RPTFLG		;DOING A REPEAT ?
	102274	001001				BNE	2$		;YES
		102276			ALLEX1=.
	102276	104031				PCRLF
	102300	000671			2$:	BR	.DFX
	102302	000207			1$:	RTS	PC		;ALL, CONTINUE
					
	102304	104022			.MQ:	TTITRM
		102306			$ALLMQ=.
						PMSGR	<MQ />
	102306	104026				  $PMSGR
	102310	145100				  $$CLIT
	102312	012700	000122		1$:	MOV	#DPMQ,R0
	102316	000747				BR	.DFDP
					
	102320	104226			.FM:	DFLEGAL			;FUNCTION LEGAL ?
	102322	104022				TTITRM
		102324			$ALLFM=.
	102324	105737	147752			TSTB	RPTFLG
	102330	001016				BNE	1$
	102332	104214				PNTCI
	102334	046506				"FM
	102336	104140				DFRDT			;READ FM ADDRESS
	102340	000114				  DPFMA
	102342	017700	054756			MOV	@.DAT2,R0
	102346	104053				SHIFTR
	102350	000005				  5
	102352	042700	177760			BIC	#177760,R0
	102356	104047				PNTODT
	102360	000002				  2
	102362	104214				PNTCI
	102364	000057				'/
	102366	012700	000123		1$:	MOV	#DPFM,R0
	102372	000721				BR	.DFDP
					
	102374	000137	102102		$DPERR:	JMP	$DFERR
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 87
	CONS11 PAL[KL,SYS]	Page 15 	DIAGNOSTIC FUNCTIONS

	102400	104005			.AR:	TTICHR
	102402	103774				 BCS	$DPERR
	102404	122700	000130			CMPB	#'X,R0		;IS COMMAND 3 LETTERS ?
	102410	001406				BEQ	1$		;BR IF 3RD LETTER IS X
	102412	104023				TTBTRM
		102414			$ALLAR=.
						PMSGR	<AR />
	102414	104026				  $PMSGR
	102416	145105				  $$CLIT
	102420	012700	000120		2$:	MOV	#DPAR,R0
	102424	000704				BR	.DFDP		;READ AND PRINT AR
					
	102426	104022			1$:	TTITRM
		102430			$ALARX=.
						PMSGR	<ARX/>
	102430	104026				  $PMSGR
	102432	145112				  $$CLIT
	102434	012700	000125		3$:	MOV	#DPARX,R0
	102440	000676				BR	.DFDP
					
	102442	104005			.AD:	TTICHR
	102444	103753				 BCS	$DPERR
	102446	122700	000130			CMPB	#'X,R0		;IS COMMAND 3 LETTERS ?
	102452	001411				BEQ	1$		;BR IF 3RD LETTER IS X
	102454	122700	000102			CMPB	#'B,R0
	102460	001552				BEQ	.ADB		;ADB, PRINT ADDRESS BREAK
	102462	104023				TTBTRM
		102464			$ALLAD=.
						PMSGR	<AD />
	102464	104026				  $PMSGR
	102466	145117				  $$CLIT
	102470	012700	000127		2$:	MOV	#DPAD,R0
	102474	000660				BR	.DFDP		;READ AND PRINT AD
					
	102476	104022			1$:	TTITRM
		102500			$ALADX=.
						PMSGR	<ADX/>
	102500	104026				  $PMSGR
	102502	145124				  $$CLIT
	102504	012700	000126		3$:	MOV	#DPADX,R0
	102510	000652				BR	.DFDP		;READ AND PRINT ADX
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 88
	CONS11 PAL[KL,SYS]	Page 16 	DIAGNOSTIC FUNCTIONS

	102512	104005			.BR:	TTICHR
	102514	103727				 BCS	$DPERR
	102516	122700	000130			CMPB	#'X,R0		;IS COMMAND 3 LETTERS ?
	102522	001406				BEQ	1$		;BR IF 3RD LETTER IS X
	102524	104023				TTBTRM
		102526			$ALLBR=.
						PMSGR	<BR />
	102526	104026				  $PMSGR
	102530	145131				  $$CLIT
	102532	012700	000121		2$:	MOV	#DPBR,R0
	102536	000637				BR	.DFDP		;READ AND PRINT BR
					
	102540	104022			1$:	TTITRM
		102542			$ALBRX=.
						PMSGR	<BRX/>
	102542	104026				  $PMSGR
	102544	145136				  $$CLIT
	102546	012700	000124		3$:	MOV	#DPBRX,R0
	102552	000631				BR	.DFDP		;READ AND PRINT THE BRX
					
	102554	104005			.ERG:	TTICHR
	102556	103504				 BCS	$DPER1
	102560	122700	000107			CMPB	#'G,R0
	102564	001101				BNE	$DPER1
	102566	104022				TTITRM
					
					$ALLEB:	PMSGR	<ERG/>
	102570	104026				  $PMSGR
	102572	145143				  $$CLIT
	102574	012700	000167			MOV	#DPERG,R0
	102600	000616				BR	.DFDP		;READ & PRINT EBUS REGISTER
					
					;MASTER RESET
					
	102602	104022			.MRESET:TTITRM
	102604	104076				MRESET
	102606	000405				BR	.DAX
					
					;DEPOSIT INTO AR
					
	102610	104226			.DA:	DFLEGAL			;FUNCTION LEGAL ?
	102612	104020				TTIS36			;GET 36 BIT AR DATA
	102614	010001				MOV	R0,R1		;ADR OF 36 BITS TO R1
	102616	004537	143734			JSR	R5,WIRAR1	;CALL IR/AR WRITE ROUTINE
	102622	000137	100230		.DAX:	JMP	$KONSL
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 89
	CONS11 PAL[KL,SYS]	Page 17 	DIAGNOSTIC FUNCTIONS

	102626	104005			.PC:	TTICHR
	102630	103457				 BCS	$DPER1
	102632	122700	000106			CMPB	#'F,R0
	102636	001471				BEQ	.PCF		;"PCF" COMMAND
	102640	104023				TTBTRM
		102642			$ALLPC=.
						PMSG	<PC />
	102642	104025				  $PMSG
	102644	145150				  $$CLIT
	102646	005737	147710			TST	TENRUN		;PDP-10 PRESENTLY RUNNING ?
	102652	001417				BEQ	1$		;NO, GO AHEAD THEN
	102654	104115				DFXCTT
	102656	000010				  CLRRUN		;CLEAR RUN
	102660	104056				TDELAY			;WAIT FOR HALT LOOP
	102662	104115				DFXCTT
	102664	000000				  STPCLK		;STOP CLOCK
					
	102666	104123				DFPC			;READ PC
					
						PUSH	R0
	102672	104115				DFXCTT
	102674	000001				  STRCLK		;START CLOCK
	102676	104115				DFXCTT
	102700	000011				  SETRUN		;SET RUN
	102702	104115				DFXCTT
	102704	000012				  CONBUT		;SET CONTINUE
						POP	R0
	102710	000401				BR	PCVMAP		;GO PRINT
					
	102712	104123			1$:	DFPC
					
					PCVMAP:
	102714	104137				PNTADR
	102716	005737	147754			TST	ALLFLG
	102722	001002				BNE	1$
	102724	000137	102276			JMP	ALLEX1		;RETURN TO CONSOLE
	102730	000207			1$:	RTS	PC		;ALL, RETURN TO ROUTINE
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 90
	CONS11 PAL[KL,SYS]	Page 18 	DIAGNOSTIC FUNCTIONS

	102732	104226			.VM:	DFLEGAL			;FUNCTION LEGAL ?
	102734	104005				TTICHR
	102736	103414				 BCS	$DPER1
	102740	122700	000101			CMPB	#'A,R0
	102744	001404				BEQ	1$
	102746	122700	000110			CMPB	#'H,R0
	102752	001410				BEQ	.VMH
	102754	000405				BR	$DPER1
	102756	104022			1$:	TTITRM
		102760			$ALVMA=.
						PMSG	<VMA/>
	102760	104025				  $PMSG
	102762	145155				  $$CLIT
	102764	104124				DFVMA
	102766	000752				BR	PCVMAP
					
	102770	000137	102102		$DPER1:	JMP	$DFERR
					
	102774	104022			.VMH:	TTITRM
		102776			$ALVMH=.
						PMSG	<VMH/>
	102776	104025				  $PMSG
	103000	145162				  $$CLIT
	103002	104150				DFVMAH
	103004	000743				BR	PCVMAP
					
	103006	104226			.ADB:	DFLEGAL			;FUNCTION LEGAL ?
	103010	104022				TTITRM
						PMSG	<ADB/>
	103012	104025				  $PMSG
	103014	145167				  $$CLIT
	103016	104125				DFADB
	103020	000735				BR	PCVMAP
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 91
	CONS11 PAL[KL,SYS]	Page 19 	DIAGNOSTIC FUNCTIONS

					;PCF COMMAND - PRINT PC FLAGS
	103022	104022			.PCF:	TTITRM
		103024			$ALPCF=.
	103024	005737	147710			TST	TENRUN		;PDP-10 PRESENTLY RUNNING ?
	103030	001416				BEQ	1$		;NO, GO AHEAD THEN
	103032	104115				DFXCTT
	103034	000010				  CLRRUN		;CLEAR RUN
	103036	104056				TDELAY			;WAIT FOR HALT LOOP
	103040	104115				DFXCTT
	103042	000000				  STPCLK		;STOP CLOCK
	103044	004737	103106			JSR	PC,PCF		;READ AND PRINT PC FLAGS
	103050	104115				DFXCTT
	103052	000001				  STRCLK		;START CLOCK
	103054	104115				DFXCTT
	103056	000011				  SETRUN		;SET RUN
	103060	104115				DFXCTT
	103062	000012				  CONBUT		;SET CONTINUE
	103064	000402				BR	2$
					
	103066	004737	103106		1$:	JSR	PC,PCF		;READ AND PRINT PC FLAGS
	103072	005737	147754		2$:	TST	ALLFLG
	103076	001002				BNE	3$
	103100	000137	102276			JMP	ALLEX1		;PRINT CRLF AND RETURN TO KONSL
					
	103104	000207			3$:	RTS	PC		;ALL, RETURN TO ROUTINE
					
					PCF:	PMSG	<PCF/ >
	103106	104025				  $PMSG
	103110	145174				  $$CLIT
	103112	012705	103214			MOV	#PCFTBL,R5
	103116	005004				CLR	R4		;R4 ZERO IF THIS IS FIRST FROB TYPED
	103120	112500			1$:	MOVB	(R5)+,R0	;GET DIAG FUNC FOR NEXT BIT
	103122	001433				BEQ	9$		;BR IF END OF TABLE
	103124	104116				DFRD			;GET BIT INTO DTE REG
	103126	017702	054174			MOV	@.DAT1,R2	;BITS 0-3
	103132	017701	054166			MOV	@.DAT2,R1	;BITS 4-19
		000004				.REPT 4
						 ASL R1
						 ROL R2
						.ENDR			;BITS 0-7 (4.9-4.2) RIGHT ALIGNED IN R2
	103136	006301				 ASL R1
	103140	006102				 ROL R2
	103142	006301				 ASL R1
	103144	006102				 ROL R2
	103146	006301				 ASL R1
	103150	006102				 ROL R2
	103152	006301				 ASL R1
	103154	006102				 ROL R2
	103156	112501				MOVB	(R5)+,R1	;GET MASK FOR BIT OF INTEREST
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 92
	CONS11 PAL[KL,SYS]	Page 19.1 	DIAGNOSTIC FUNCTIONS

	103160	100002				BPL	2$
	103162	005102				COM	R2		;BIT BACKWARDS IN HARDWARE
	103164	005401				NEG	R1
	103166	012500			2$:	MOV	(R5)+,R0	;GET POINTER TO BIT NAME STRING
	103170	030102				BIT	R1,R2
	103172	001406				BEQ	3$
	103174	005704				TST	R4		;IF NOT FIRST, PUT A COMMA, SPACE
	103176	001402				BEQ	4$
	103200	104214				PNTCI
	103202	020054				  ", 
	103204	104024			4$:	PNTAL			;BIT IS ON, GIVE NAME
	103206	005204				INC	R4
	103210	000743			3$:	BR	1$		;LOOP BACK FOR NEXT BIT
					
	103212	000207			9$:	RTS PC
					
					;PC FLAGS TABLE
					;FIRST BYTE IS DIAG FCN, SECOND IS MASK FOR BIT (NEGATIVE => BIT COMPLEMENTED)
					;SECOND WORD -> ASCIZ BIT NAME			(Negative means more than 177)
					
					.MACRO PCFTE NAME,DFN,MASK
						.LIT $$ZZQ,<.ASCIZ\NAME\>
						.BYTE DFN,MASK
						.WORD $$ZZQ
					.ENDM
					
					PCFTBL:	PCFTE OV,131,40
						.LIT $$ZZQ,<.ASCIZ\OV\>
		103214					$$CLC=.
		145202					.=$$CLIT
		145202					.EVEN
		145202				  $$ZZQ=.
						  .IIF	B <.ASCIZ\OV\>,0
	145202	   117		
	145203	   126		
	145204	   000		
						  .IIF	NB <.ASCIZ\OV\>,.ASCIZ\OV\
		145206					.EVEN
		145206					$$CLIT=.
		103214					.=$$CLC
	103214	   131		
	103215	   040				.BYTE 131,40
	103216	145202				.WORD $$ZZQ
						PCFTE CRY0,131,20
						.LIT $$ZZQ,<.ASCIZ\CRY0\>
		103220					$$CLC=.
		145206					.=$$CLIT
		145206					.EVEN
		145206				  $$ZZQ=.
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 93
	CONS11 PAL[KL,SYS]	Page 19.2 	DIAGNOSTIC FUNCTIONS

						  .IIF	B <.ASCIZ\CRY0\>,0
	145206	   103		
	145207	   122		
	145210	   131		
	145211	   060		
	145212	   000		
						  .IIF	NB <.ASCIZ\CRY0\>,.ASCIZ\CRY0\
		145214					.EVEN
		145214					$$CLIT=.
		103220					.=$$CLC
	103220	   131		
	103221	   020				.BYTE 131,20
	103222	145206				.WORD $$ZZQ
						PCFTE CRY1,131,10
						.LIT $$ZZQ,<.ASCIZ\CRY1\>
		103224					$$CLC=.
		145214					.=$$CLIT
		145214					.EVEN
		145214				  $$ZZQ=.
						  .IIF	B <.ASCIZ\CRY1\>,0
	145214	   103		
	145215	   122		
	145216	   131		
	145217	   061		
	145220	   000		
						  .IIF	NB <.ASCIZ\CRY1\>,.ASCIZ\CRY1\
		145222					.EVEN
		145222					$$CLIT=.
		103224					.=$$CLC
	103224	   131		
	103225	   010				.BYTE 131,10
	103226	145214				.WORD $$ZZQ
						PCFTE FOV,132,20
						.LIT $$ZZQ,<.ASCIZ\FOV\>
		103230					$$CLC=.
		145222					.=$$CLIT
		145222					.EVEN
		145222				  $$ZZQ=.
						  .IIF	B <.ASCIZ\FOV\>,0
	145222	   106		
	145223	   117		
	145224	   126		
	145225	   000		
						  .IIF	NB <.ASCIZ\FOV\>,.ASCIZ\FOV\
		145226					.EVEN
		145226					$$CLIT=.
		103230					.=$$CLC
	103230	   132		
	103231	   020				.BYTE 132,20
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 94
	CONS11 PAL[KL,SYS]	Page 19.3 	DIAGNOSTIC FUNCTIONS

	103232	145222				.WORD $$ZZQ
						PCFTE FPD,130,2
						.LIT $$ZZQ,<.ASCIZ\FPD\>
		103234					$$CLC=.
		145226					.=$$CLIT
		145226					.EVEN
		145226				  $$ZZQ=.
						  .IIF	B <.ASCIZ\FPD\>,0
	145226	   106		
	145227	   120		
	145230	   104		
	145231	   000		
						  .IIF	NB <.ASCIZ\FPD\>,.ASCIZ\FPD\
		145232					.EVEN
		145232					$$CLIT=.
		103234					.=$$CLC
	103234	   130		
	103235	   002				.BYTE 130,2
	103236	145226				.WORD $$ZZQ
						PCFTE USER,134,340
						.LIT $$ZZQ,<.ASCIZ\USER\>
		103240					$$CLC=.
		145232					.=$$CLIT
		145232					.EVEN
		145232				  $$ZZQ=.
						  .IIF	B <.ASCIZ\USER\>,0
	145232	   125		
	145233	   123		
	145234	   105		
	145235	   122		
	145236	   000		
						  .IIF	NB <.ASCIZ\USER\>,.ASCIZ\USER\
		145240					.EVEN
		145240					$$CLIT=.
		103240					.=$$CLC
	103240	   134		
	103241	   340				.BYTE 134,340
	103242	145232				.WORD $$ZZQ
						PCFTE IOTUSR,136,4
						.LIT $$ZZQ,<.ASCIZ\IOTUSR\>
		103244					$$CLC=.
		145240					.=$$CLIT
		145240					.EVEN
		145240				  $$ZZQ=.
						  .IIF	B <.ASCIZ\IOTUSR\>,0
	145240	   111		
	145241	   117		
	145242	   124		
	145243	   125		
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 95
	CONS11 PAL[KL,SYS]	Page 19.4 	DIAGNOSTIC FUNCTIONS

	145244	   123		
	145245	   122		
	145246	   000		
						  .IIF	NB <.ASCIZ\IOTUSR\>,.ASCIZ\IOTUSR\
		145250					.EVEN
		145250					$$CLIT=.
		103244					.=$$CLC
	103244	   136		
	103245	   004				.BYTE 136,4
	103246	145240				.WORD $$ZZQ
						PCFTE PUBLIC,135,20
						.LIT $$ZZQ,<.ASCIZ\PUBLIC\>
		103250					$$CLC=.
		145250					.=$$CLIT
		145250					.EVEN
		145250				  $$ZZQ=.
						  .IIF	B <.ASCIZ\PUBLIC\>,0
	145250	   120		
	145251	   125		
	145252	   102		
	145253	   114		
	145254	   111		
	145255	   103		
	145256	   000		
						  .IIF	NB <.ASCIZ\PUBLIC\>,.ASCIZ\PUBLIC\
		145260					.EVEN
		145260					$$CLIT=.
		103250					.=$$CLC
	103250	   135		
	103251	   020				.BYTE 135,20
	103252	145250				.WORD $$ZZQ
						PCFTE ADB INH,137,40
						.LIT $$ZZQ,<.ASCIZ\ADB INH\>
		103254					$$CLC=.
		145260					.=$$CLIT
		145260					.EVEN
		145260				  $$ZZQ=.
						  .IIF	B <.ASCIZ\ADB INH\>,0
	145260	   101		
	145261	   104		
	145262	   102		
	145263	   040		
	145264	   111		
	145265	   116		
	145266	   110		
	145267	   000		
						  .IIF	NB <.ASCIZ\ADB INH\>,.ASCIZ\ADB INH\
		145270					.EVEN
		145270					$$CLIT=.
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 96
	CONS11 PAL[KL,SYS]	Page 19.5 	DIAGNOSTIC FUNCTIONS

		103254					.=$$CLC
	103254	   137		
	103255	   040				.BYTE 137,40
	103256	145260				.WORD $$ZZQ
						PCFTE TRP 2,130,40
						.LIT $$ZZQ,<.ASCIZ\TRP 2\>
		103260					$$CLC=.
		145270					.=$$CLIT
		145270					.EVEN
		145270				  $$ZZQ=.
						  .IIF	B <.ASCIZ\TRP 2\>,0
	145270	   124		
	145271	   122		
	145272	   120		
	145273	   040		
	145274	   062		
	145275	   000		
						  .IIF	NB <.ASCIZ\TRP 2\>,.ASCIZ\TRP 2\
		145276					.EVEN
		145276					$$CLIT=.
		103260					.=$$CLC
	103260	   130		
	103261	   040				.BYTE 130,40
	103262	145270				.WORD $$ZZQ
						PCFTE TRP 1,130,4
						.LIT $$ZZQ,<.ASCIZ\TRP 1\>
		103264					$$CLC=.
		145276					.=$$CLIT
		145276					.EVEN
		145276				  $$ZZQ=.
						  .IIF	B <.ASCIZ\TRP 1\>,0
	145276	   124		
	145277	   122		
	145300	   120		
	145301	   040		
	145302	   061		
	145303	   000		
						  .IIF	NB <.ASCIZ\TRP 1\>,.ASCIZ\TRP 1\
		145304					.EVEN
		145304					$$CLIT=.
		103264					.=$$CLC
	103264	   130		
	103265	   004				.BYTE 130,4
	103266	145276				.WORD $$ZZQ
						PCFTE FXU,132,10
						.LIT $$ZZQ,<.ASCIZ\FXU\>
		103270					$$CLC=.
		145304					.=$$CLIT
		145304					.EVEN
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 97
	CONS11 PAL[KL,SYS]	Page 19.6 	DIAGNOSTIC FUNCTIONS

		145304				  $$ZZQ=.
						  .IIF	B <.ASCIZ\FXU\>,0
	145304	   106		
	145305	   130		
	145306	   125		
	145307	   000		
						  .IIF	NB <.ASCIZ\FXU\>,.ASCIZ\FXU\
		145310					.EVEN
		145310					$$CLIT=.
		103270					.=$$CLC
	103270	   132		
	103271	   010				.BYTE 132,10
	103272	145304				.WORD $$ZZQ
						PCFTE DIV,131,2
						.LIT $$ZZQ,<.ASCIZ\DIV\>
		103274					$$CLC=.
		145310					.=$$CLIT
		145310					.EVEN
		145310				  $$ZZQ=.
						  .IIF	B <.ASCIZ\DIV\>,0
	145310	   104		
	145311	   111		
	145312	   126		
	145313	   000		
						  .IIF	NB <.ASCIZ\DIV\>,.ASCIZ\DIV\
		145314					.EVEN
		145314					$$CLIT=.
		103274					.=$$CLC
	103274	   131		
	103275	   002				.BYTE 131,2
	103276	145310				.WORD $$ZZQ
	103300	000000				0
					
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 98
	CONS11 PAL[KL,SYS]	Page 20 	DIAGNOSTIC FUNCTIONS

	103302	104022			.FE:	TTITRM
					$ALLFE:	PMSGR	<FE/>
	103304	104026				  $PMSGR
	103306	145314				  $$CLIT
	103310	012704	000132			MOV	#DPFE,R4
	103314	000405				BR	FESCP
					
	103316	104022			.SC:	TTITRM
					$ALLSC:	PMSGR	<SC/>
	103320	104026				  $PMSGR
	103322	145320				  $$CLIT
	103324	012704	000130			MOV	#DPSC,R4
	103330	104226			FESCP:	DFLEGAL			;FUNCTION LEGAL ?
	103332	010400				MOV	R4,R0
	103334	104116				DFRD
					
	103336	017703	053762			MOV	@.DAT2,R3	;GET LO-ORDER 5 BITS
	103342	000303				SWAB	R3		;FROM 7-11 OF DEXWDS
	103344	042703	177740			BIC	#177740,R3
					
	103350	010400				MOV	R4,R0
	103352	005200				INC	R0
	103354	104116				DFRD
					
	103356	017700	053742			MOV	@.DAT2,R0	;GET HI-ORDER 5 BITS
	103362	104053				SHIFTR
	103364	000003				3
	103366	042700	176037			BIC	#176037,R0
	103372	050300				BIS	R3,R0		;COMBINE HI & LO ORDER BITS
					
	103374	105737	147752			TSTB	RPTFLG
	103400	001003				BNE	1$
	103402	104047				PNTODT
	103404	000004				4
	103406	104032				PSPACE
	103410	000137	102262		1$:	JMP	ALLEXT
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 99
	CONS11 PAL[KL,SYS]	Page 21 	DIAGNOSTIC FUNCTIONS

					;PRINT PRIORITY INTERRUPT FUNCTIONS
					
	103414	104226			.PI:	DFLEGAL			;FUNCTION LEGAL ?
	103416	104022				TTITRM
		103420			$ALLPI=.
	103420	004737	103452			JSR	PC,$ALPIG	;PRINT PI GENS
	103424	004737	103504			JSR	PC,$ALPIH	;PRINT PI HOLDS
	103430	004737	103536			JSR	PC,$ALPIO	;PRINT PI ON'S
	103434	005737	147754			TST	ALLFLG
	103440	001003				BNE	1$
	103442	104031				PCRLF
	103444	000137	100230			JMP	$KONSL
					
	103450	000207			1$:	RTS	PC		;ALL, RETURN TO ROUTINE
					
					$ALPIG:	PMSG	<PI GEN/>
	103452	104025				  $PMSG
	103454	145324				  $$CLIT
	103456	104140				DFRDT
	103460	000101				  READ1			;READ PI GENS
									;FR 101, BITS 11-17
	103462	017700	053636		$ALPIY:	MOV	@.DAT2,R0
	103466	104053				SHIFTR
	103470	000002				  2
					
	103472	042700	177600		$ALPIX:	BIC	#177600,R0	;DATA IS ONLY 7 BITS
	103476	104047				PNTODT
	103500	000003				  3
	103502	000207				RTS	PC
					
					$ALPIH:	PMSG	< PI HOLD/>
	103504	104025				  $PMSG
	103506	145334				  $$CLIT
	103510	104140				DFRDT
	103512	000100				  READ0			;READ PI HOLDS
	103514	017700	053604			MOV	@.DAT2,R0	;FR 100, BITS 03-09
	103520	017701	053602			MOV	@.DAT1,R1
	103524	006001				ROR	R1
	103526	006000				ROR	R0
	103530	104053				SHIFTR
	103532	000011				  9.
	103534	000756				BR	$ALPIX
					
					$ALPIO:	PMSG	< PI ON/>
	103536	104025				  $PMSG
	103540	145346				  $$CLIT
	103542	104140				DFRDT
	103544	000100				  READ0			;READ PI ONS
	103546	000745				BR	$ALPIY		;FR 100, BITS 11-17
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 100
	CONS11 PAL[KL,SYS]	Page 22 	DIAGNOSTIC FUNCTIONS

					;PRINT ALL - C-RAM & REGISTERS
					
	103550	104005			.ALL:	TTICHR
	103552	103410				 BCS	1$
	103554	122700	000114			CMPB	#'L,R0
	103560	001005				BNE	1$
	103562	104022				TTITRM
	103564	104226				DFLEGAL			;FUNCTION LEGAL ?
	103566	104132				PNTCPU
	103570	000137	100230			JMP	$KONSL
	103574	000137	102102		1$:	JMP	$DFERR		;ERROR
					
	103600	104055			$PNTCPU:SETFLG
	103602	147754				  ALLFLG		;SET ALL FLAG
						PUSH	RPTFLG
	103610	005037	147752			CLR	RPTFLG
					
	103614	004737	126272			JSR	PC,$ALLEC	;PRINT C-RAM
					
	103620	004737	102414			JSR	PC,$ALLAR	;PRINT AR
	103624	004737	102526			JSR	PC,$ALLBR	;PRINT BR
	103630	004737	102464			JSR	PC,$ALLAD	;PRINT ADDER
	103634	004737	103320			JSR	PC,$ALLSC	;PRINT SC
	103640	004737	102642			JSR	PC,$ALLPC	;PRINT PC
	103644	104031				PCRLF
					
	103646	004737	102430			JSR	PC,$ALARX	;PRINT ARX
	103652	004737	102542			JSR	PC,$ALBRX	;PRINT BRX
	103656	004737	102500			JSR	PC,$ALADX	;PRINT ADX
	103662	004737	103304			JSR	PC,$ALLFE	;PRINT FE
	103666	004737	102760			JSR	PC,$ALVMA	;PRINT VMA
	103672	104031				PCRLF
					
	103674	004737	102306			JSR	PC,$ALLMQ	;PRINT MQ
	103700	004737	102324			JSR	PC,$ALLFM	;PRINT FM
	103704	004737	102570			JSR	PC,$ALLEB	;PRINT EBUS REGISTER
	103710	004737	102776			JSR	PC,$ALVMH	;PRINT VMA HELD
	103714	104031				PCRLF
					
	103716	004737	103452			JSR	PC,$ALPIG	;PRINT PI GENS
	103722	004737	103504			JSR	PC,$ALPIH	;PRINT PI HOLDS
	103726	004737	103536			JSR	PC,$ALPIO	;PRINT PI ON'S
						POP	RPTFLG
	103736	104031				PCRLF
	103740	005037	147754			CLR	ALLFLG
						EXIT
	103744	000137	124062			  JMP	$EXIT
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 101
	CONS11 PAL[KL,SYS]	Page 23 	PDP-10 START/STOP FUNCTIONS

					.SBTTL	PDP-10 START/STOP FUNCTIONS
					
					;THESE REQUIRE STANDARD MICROCODE TO DO ANYTHING WORTHWHILE!
					
					;STOP PDP-10, CLEAR RUN FLOP
					
	103750	104022			$SP:	TTITRM
	103752	104077				TENSP			;STOP TEN
	103754	103002				BCC	1$
	103756	000137	104566			JMP	.XCTER		;DID NOT STOP PROPERLY
	103762	005037	147634		1$:	CLR	PRGRUN
						PMSG	<\KL10 STOPPED >
	103766	104025				  $PMSG
	103770	145356				  $$CLIT
	103772	004737	107732			JSR	PC,$ALSTA	;PRINT PC,VMA,PI,PCF AND A CRLF
	103776	000443				BR	$RNX		;HOPE ENOUGH DELAY BUILT IN
					
					;CONTINUE PDP-10 FROM OLD PC. ASSUME CLOCK MAY BE OFF
					
	104000	104022			$RN:	TTITRM
					
	104002	005037	157264		$RNN:	CLR	CLKPE		;CLEAR CLOCK PARITY ENABLES
	104006	012702	000020			MOV	#20,R2
	104012	013701	157262			MOV	PEBITS,R1	;GET ENABLE BITS
	104016	001410				BEQ	2$		;NOT ENABLED
	104020	030201				BIT	R2,R1		;AR/ARX PARITY ENABLED ?
	104022	001403				BEQ	1$		;NO
	104024	052737	000002	157264		BIS	#2,CLKPE	;YES, SET ENABLE BIT
	104032	052737	000001	157264	1$:	BIS	#1,CLKPE	;SET CLOCK STOP ENABLE
					
	104040	104141			2$:	DFWRTT
	104042	157264				  CLKPE
	104044	000047				  LDCHK2		;LOAD ENABLE FUNCTION REGISTER
					
	104046	040201			3$:	BIC	R2,R1
	104050	010137	157264			MOV	R1,CLKPE	;SETUP FM,CRAM,DRAM, FS
	104054	104141				DFWRTT
	104056	157264				  CLKPE
	104060	000046				  LDCHK1		;LOAD CONDITION ENABLE REGISTER
					
	104062	104115				DFXCTT			;GET CLOCK RUNNING
	104064	000001				  STRCLK
	104066	104115				DFXCTT			;SET RUN AND LET 'ER GO
	104070	000011				  SETRUN
	104072	104115				DFXCTT			;SET CONTINUE BUTTON
	104074	000012				  CONBUT
	104076	104055				SETFLG
	104100	147710				  TENRUN		;SET TEN RUN FLAG
	104102	104055				SETFLG
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 102
	CONS11 PAL[KL,SYS]	Page 23.1 	PDP-10 START/STOP FUNCTIONS

	104104	147634				  PRGRUN		;SET PROGRAM RUNNING FLAG
	104106	000137	100230		$RNX:	JMP	$KONSL
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 103
	CONS11 PAL[KL,SYS]	Page 24 	PDP-10 START/STOP FUNCTIONS

					;START PDP-10 DDT
					
	104112	104016			$DDTX:	TTISDL
	104114	103402				 BCS	1$		;NON-NUMBER
	104116	000137	127044			JMP	$DD		;NUMBER, MUST BE FOR D-RAM
					
	104122	122700	000124		1$:	CMPB	#'T,R0
	104126	001402				BEQ	2$		;"DDT", START PDP-10 AT "DDTSRT"
	104130	000137	102102			JMP	$DFERR
					
	104134	104022			2$:	TTITRM
	104136	104226				DFLEGAL			;DON'T DO THIS IF ALREADY RUNNING
	104140	013737	100070	157222		MOV	TDDT,$$STJRS	;SETUP JRST INSTRUCTION
	104146	113737	100072	157224		MOVB	TDDT+2,$$STJRS+2
					;CAN'T ENTER DDT WHILE IN USER MODE.
	104154	104140				DFRDT
	104156	000134				 134
	104160	032777	000002	053140		BIT	#2,@.DAT1
	104166	001004				BNE	3$		;BRANCH IF IN EXEC MODE
						PMSG	<?Can't. KL10 in USER mode.>
	104170	104025				  $PMSG
	104172	145375				  $$CLIT
	104174	000137	100004			JMP	$CNTLC
					
	104200	005037	150042		3$:	CLR 	TENTTY
	104204	012700	157222			MOV	#$$STJRS,R0
	104210	104101				EXCT			;EXECUTE JRST TO START DDT
	104212	103273				BCC	$RNN		;GO SAY -10 IS RUNNING
	104214	000137	104566		$DDTER:	JMP	.XCTER		;OR BARF IF MICRO CODE IS HUNG
					
					;SINGLE INSTRUCT PDP-10. ASSUME CLOCK IS RUNNING AND RUN IS SET
					
	104220	104077			$SI:	TENSP			;STOP TEN
	104222	103774				BCS	$DDTER		;DID NOT STOP PROPERLY
	104224	005005				CLR	R5
	104226	104016				TTISDL
	104230	103412				 BCS	4$		;NON-NUMBER
	104232	104011				TTIDEC
	104234	103401				 BCS	2$		;NO ARG, DO ONCE
	104236	010005				MOV	R0,R5
	104240	104115			2$:	DFXCTT			;PRESS CONTINUE PULSER
	104242	000012				  CONBUT
	104244	104056				TDELAY			;SMALL TIME DELAY
	104246	005305				DEC	R5		;COMPLETED REQUESTED INSTRUCTIONS ?
	104250	003373				BGT	2$
	104252	000137	100230			JMP	$KONSL		;YES, RETURN TO CONSOLE
					
	104256	122700	000120		4$:	CMPB	#'P,R0
	104262	001366				BNE	2$
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 104
	CONS11 PAL[KL,SYS]	Page 24.1 	PDP-10 START/STOP FUNCTIONS

					
	104264	104022			5$:	TTITRM			;"SIP",SINGLE INSTRUCT AND PRINT
	104266	104115				DFXCTT			;STOP CLOCK
	104270	000000				  STPCLK
	104272	000137	104466			JMP	SIPNT		;REST SAME AS LAST OF "EXP"
					
					;DIAGNOSTIC FUNCTION LEGALITY CHECK
					
	104276	005737	147710		$DFLEGAL:TST	TENRUN		;PDP-10 PRESENTLY RUNNING ?
	104302	001002				BNE	1$		;YES, OPERATION ILLEGAL, ABORT
						EXIT
	104304	000137	124062			  JMP	$EXIT
					1$:	PMSG	<?KL10 RUNNING, TYPE "SP" FIRST>
	104310	104025				  $PMSG
	104312	145430				  $$CLIT
	104314	000137	100624			JMP	$$$CC
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 105
	CONS11 PAL[KL,SYS]	Page 25 	PDP-10 START/STOP FUNCTIONS

					;PULSE THE E-BOX CLOCK
					
	104320	104226			.PL:	DFLEGAL			;FUNCTION LEGAL ?
	104322	005037	152236			CLR	TENCLK		;TURN OFF CLOCK IF ON
	104326	104016				TTISDL
	104330	103404				 BCS	1$		;NO ARG, DO ONCE
	104332	104011				TTIDEC
	104334	103402				 BCS	1$		;DO ONCE ANYWAY
	104336	010001				MOV	R0,R1		;SAVE PULSE COUNT
	104340	000401				BR	2$
	104342	005001			1$:	CLR	R1
	104344	104135			2$:	ECLOK
	104346	103002				 BCC	3$
	104350	004137	141210			JSR	R1,$ECTIM
	104354	005301			3$:	DEC	R1		;DONE REQUESTED CLOCKS ?
	104356	003372				BGT	2$		;NOT YET
	104360	000137	100230		.PLX:	JMP	$KONSL
					
					;START MICROCODE IDLE.
					;SUPPORT EXAMINE, DEPOSIT, AND EXECUTE OPERATIONS.
					
	104364	104022			.SM:	TTITRM
	104366	104100				SM			;DO THE EMT
	104370	103476				BCS	.XCTER
	104372	000772				BR	.PLX
					
					;CACHE INVALIDATE
					
	104374	012700	104420		.CI:	MOV	#$$CI,R0
					
	104400	104022			.CIF:	TTITRM
	104402	104226				DFLEGAL			;FUNCTION LEGAL ?
	104404	104101				EXCT
	104406	103467				 BCS	.XCTER		;FAILED
	104410	000763				BR	.PLX		;OK, RETURN TO CONSOLE
					
					;CACHE FLUSH
					
	104412	012700	104425		.CF:	MOV	#$$CF,R0
	104416	000770				BR	.CIF
					
					$$CI:	IO10	DATAI,CCA,,0	;INVALIDATE WITHOUT CORE UPDATE
		000000				  .IIF B ,I=0
						  .IIF NB ,I=
		000000				  .IIF B ,XR=0
						  .IIF NB ,XR=
		000002					BLKO=2
		000003					DATAO=3
		000000					BLKI=0
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 106
	CONS11 PAL[KL,SYS]	Page 25.1 	PDP-10 START/STOP FUNCTIONS

		000001					DATAI=1
		000004					CONO=4
		000005					CONI=5
		000006					CONSZ=6
		000007					CONSO=7
		000000					APR=0
		000004					PI=4
		000010					PAG=10
		000014					CCA=14
		000000					ADH=0
		000000					ADL=0
						  .IRPC AD1,0
						  .IIF GE <ADL-10000>,ADH=ADL/10000
						  ADL=10*<ADL&7777>+AD1
						  .ENDM
		770000				  .IIF GE <ADL-10000>,ADH=ADL/10000
		000000				  ADL=10*<ADL&7777>+0
					$$CF:	IO10	BLKO,CCA,,0	;SWEEP CACHE, VALIDATING CORE
		000000				  .IIF B ,I=0
						  .IIF NB ,I=
		000000				  .IIF B ,XR=0
						  .IIF NB ,XR=
		000002					BLKO=2
		000003					DATAO=3
		000000					BLKI=0
		000001					DATAI=1
		000004					CONO=4
		000005					CONI=5
		000006					CONSZ=6
		000007					CONSO=7
		000000					APR=0
		000004					PI=4
		000010					PAG=10
		000014					CCA=14
		000000					ADH=0
		000000					ADL=0
						  .IRPC AD1,0
						  .IIF GE <ADL-10000>,ADH=ADL/10000
						  ADL=10*<ADL&7777>+AD1
						  .ENDM
		770000				  .IIF GE <ADL-10000>,ADH=ADL/10000
		000000				  ADL=10*<ADL&7777>+0
		104432			.EVEN
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 107
	CONS11 PAL[KL,SYS]	Page 26 	PDP-10 START/STOP FUNCTIONS

					;EXECUTE A PDP10 INSTRUCTION.
					
	104432	104077			.XCT:	TENSP			;STOP TEN
	104434	103454				BCS	.XCTER		;DID NOT STOP PROPERLY
					
	104436	104016				TTISDL
	104440	103404				 BCS	1$		;NON-NUMBER
					
	104442	104020				TTIS36
					
	104444	104101				EXCT
	104446	103447				 BCS	.XCTER
					
	104450	000433				BR	.XCT2
					
	104452	122700	000120		1$:	CMPB	#'P,R0		;"EXP" = EXECUTE & PRINT
	104456	001032				BNE	.XCT1
					
	104460	104020				TTIS36
					
	104462	104102				LODAR			;LOAD INTO AR
	104464	103440				 BCS	.XCTER
					
		104466			SIPNT=.
	104466	104044				PNORML
	104470	104115				DFXCTT			;SET CONTINUE BUTTON
	104472	000012				  CONBUT
					
	104474	104135			2$:	ECLOK			;CLOCK TO GET STARTED
	104476	103002				 BCC	3$
	104500	004137	141210			JSR	R1,$ECTIM
					
	104504	032777	001000	052636	3$:	BIT	#HALTLP,@.DIAG1
	104512	001370				BNE	2$		;TILL WE LEAVE HALT LOOP
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 108
	CONS11 PAL[KL,SYS]	Page 27 	PDP-10 START/STOP FUNCTIONS

	104514	104132				PNTCPU			;PRINT C-RAM & REGISTERS
					
	104516	104135			4$:	ECLOK			;CLOCK
	104520	103002				 BCC	5$
	104522	004137	141210			JSR	R1,$ECTIM
					
	104526	104132			5$:	PNTCPU			;& PRINT TILL BACK TO HALT LOOP
					
	104530	032777	001000	052612		BIT	#HALTLP,@.DIAG1
	104536	001767				BEQ	4$
					
	104540	000137	100230		.XCT2:	JMP	$KONSL
					
	104544	122700	000124		.XCT1:	CMPB	#'T,R0		;"EXT" = EXECUTE & TRACE SETUP
	104550	001012				BNE	.CNSER
					
	104552	104020				TTIS36
					
	104554	104102				LODAR			;LOAD INTO AR
	104556	103403				 BCS	.XCTER
					
	104560	104115				DFXCTT			;SET CONTINUE BUTTON
	104562	000012				  CONBUT
					
	104564	000765				BR	.XCT2
					
					.XCTER:	PMSG	<?UCODE HUNG>
	104566	104025				  $PMSG
	104570	145467				  $$CLIT
	104572	000137	100004			JMP	$CNTLC
					
	104576	000137	102102		.CNSER:	JMP	$DFERR
					
					;BURST THE KL10 CLOCK
					
	104602	104226			.BU:	DFLEGAL			;FUNCTION LEGAL ?
	104604	005037	152236			CLR	TENCLK		;TURN OFF CLOCKK IF ON
	104610	104016				TTISDL
	104612	103404				BCS	2$		;NO ARG, DO ONCE
	104614	104011				TTIDEC
	104616	103402				BCS	2$		;DO ONCE ANYWAY
	104620	104131			1$:	BURST			;PERFORM BURST
	104622	000746				BR	.XCT2
	104624	012700	000001		2$:	MOV	#1,R0		;DO ONE BURST
	104630	000773				BR	1$
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 109
	CONS11 PAL[KL,SYS]	Page 28 	PDP-10 START/STOP FUNCTIONS

					;SELECT CLOCK SOURCE
					
	104632	104016			.CS:	TTISDL
	104634	103012				BCC	1$
	104636	013700	157246			MOV	CLKDFL,R0
						SR	R0,2
		104646			.CSR=.
	104646	042700	177774			BIC	#177774,R0
	104652	104030				PNTNBR
	104654	104031				PCRLF
	104656	000137	100014			JMP	$CONSL
					
	104662	104017			1$:	TTISDO
	104664	020027	000002			CMP	R0,#2
	104670	003022				BGT	.CSRER
					
	104672	104054				SHIFTL
	104674	000002				2
	104676	042737	000014	157246		BIC	#14,CLKDFL	;CLEAR OLD SOURCE
	104704	050037	157246		.CCMN1:	BIS	R0,CLKDFL	;SET NEW SOURCE
	104710	104226			.CCMN:	DFLEGAL			;FUNCTION LEGAL ?
	104712	005737	147710			TST	TENRUN
	104716	001402				BEQ	1$
	104720	104077				TENSP			;STOP TEN
	104722	103721				BCS	.XCTER		;DID NOT STOP PROPERLY
	104724	104141			1$:	DFWRTT			;WRITE TO CLOCK
	104726	157246				CLKDFL
	104730	000044				LDSEL
	104732	000137	100230			JMP	$KONSL
					
	104736	000137	113356		.CSRER:	JMP	$PARA
					
					;SELECT CLOCK RATE
					
	104742	104016			.CR:	TTISDL
	104744	103003				BCC	1$
	104746	013700	157246			MOV	CLKDFL,R0
	104752	000735				BR	.CSR
					
	104754	104017			1$:	TTISDO
	104756	020027	000003			CMP	R0,#3
	104762	003365				BGT	.CSRER
					
	104764	042737	000003	157246		BIC	#3,CLKDFL	;CLEAR OLD RATE
	104772	000744				BR	.CCMN1
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 110
	CONS11 PAL[KL,SYS]	Page 29 	PDP-10 START/STOP FUNCTIONS

					;PROCESSOR PARITY DISABLE
					
	104774	104022			.PD:	TTITRM
	104776	005037	157262			CLR	PEBITS		;CLEAR PARITY ENABLE BITS
	105002	000137	100014			JMP	$CONSL
					
					;PARITY ENABLED AND CLOCK ERROR STOP MESSAGES
					
	105006	   054		
	105007	   040		
	105010	   101		
	105011	   122		
	105012	   057		
	105013	   101		
	105014	   122		
	105015	   130		
	105016	   000		
					$PEAR:	.ASCIZ	%, AR/ARX%
	105017	   054		
	105020	   040		
	105021	   106		
	105022	   115		
	105023	   040		
	105024	   120		
	105025	   101		
	105026	   122		
	105027	   111		
	105030	   124		
	105031	   131		
	105032	   000		
					$PEFM:	.ASCIZ	%, FM PARITY%
	105033	   054		
	105034	   040		
	105035	   103		
	105036	   122		
	105037	   101		
	105040	   115		
	105041	   040		
	105042	   120		
	105043	   101		
	105044	   122		
	105045	   111		
	105046	   124		
	105047	   131		
	105050	   000		
					$PECR:	.ASCIZ	%, CRAM PARITY%
	105051	   054		
	105052	   040		
	105053	   104		
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 111
	CONS11 PAL[KL,SYS]	Page 29.1 	PDP-10 START/STOP FUNCTIONS

	105054	   122		
	105055	   101		
	105056	   115		
	105057	   040		
	105060	   120		
	105061	   101		
	105062	   122		
	105063	   111		
	105064	   124		
	105065	   131		
	105066	   000		
					$PEDR:	.ASCIZ	%, DRAM PARITY%
	105067	   054		
	105070	   040		
	105071	   106		
	105072	   123		
	105073	   040		
	105074	   120		
	105075	   122		
	105076	   117		
	105077	   102		
	105100	   105		
	105101	   000		
					$PEFS:	.ASCIZ	%, FS PROBE%
		105102			.EVEN
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 112
	CONS11 PAL[KL,SYS]	Page 30 	PDP-10 START/STOP FUNCTIONS

					;PROCESSOR PARITY ENABLE
					
					;PARITY ENABLE BITS ARE CODED AS FOLLOWS:
					; 	AR/ARX, FM, CRAM, DRAM, FS
					;	0 = PARITY DISABLED
					;	37 WOULD = ALL ENABLED
					
	105102	104016			.PE:	TTISDL
	105104	103043				 BCC	1$
					
					20$:	PMSG	<ENABLED: >
	105106	104025				  $PMSG
	105110	145503				  $$CLIT
	105112	013701	157262			MOV	PEBITS,R1	;PRINT PARITY ENABLE BITS
	105116	010100				MOV	R1,R0
	105120	104047				PNTODT
	105122	000002				  2
	105124	032701	000020		10$:	BIT	#20,R1
	105130	001402				BEQ	11$
	105132	104025				$PMSG
	105134	105006				  $PEAR			;AR/ARX PAGE FAIL
	105136	032701	000010		11$:	BIT	#10,R1
	105142	001402				BEQ	12$
	105144	104025				$PMSG
	105146	105017				  $PEFM			;FM PARITY
	105150	032701	000004		12$:	BIT	#4,R1
	105154	001402				BEQ	13$
	105156	104025				$PMSG
	105160	105033				  $PECR			;CRAM PARITY
	105162	032701	000002		13$:	BIT	#2,R1
	105166	001402				BEQ	14$
	105170	104025				$PMSG
	105172	105051				  $PEDR			;DRAM PARITY
	105174	032701	000001		14$:	BIT	#1,R1
	105200	001402				BEQ	15$
	105202	104025				$PMSG
	105204	105067				  $PEFS			;FS PROBE
	105206	104031			15$:	PCRLF
	105210	000137	100014		3$:	JMP	$CONSL
					
	105214	104017			1$:	TTISDO
	105216	020027	000037			CMP	R0,#37
	105222	003245				BGT	.CSRER
	105224	010037	157262			MOV	R0,PEBITS	;SAVE
	105230	000726				BR	20$
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 113
	CONS11 PAL[KL,SYS]	Page 31 	PDP-10 START/STOP FUNCTIONS

					;MICRO-CODE SYNC MARK ROUTINES
					
	105232	012705	777777		.MU:	MOV	#-1,R5		;MICRO UNMARK
	105236	000401				BR	.MMC
					
	105240	005005			.MM:	CLR	R5		;MICRO MARK
					
	105242	104226			.MMC:	DFLEGAL			;FUNCTION LEGAL ?
	105244	104021				TTICRA			;GET C-RAM ADDRESS
	105246	010037	147744			MOV	R0,$ECADR
					
	105252	104074				RCRAM			;READ C-RAM
					
	105254	005705				TST	R5
	105256	001004				BNE	3$
	105260	052760	000020	000004		BIS	#20,4(R0)	;SET MARK BIT
	105266	000403				BR	.MMX
	105270	042760	000020	000004	3$:	BIC	#20,4(R0)	;CLEAR MARK BIT
					
	105276	010001			.MMX:	MOV	R0,R1
	105300	013700	147744			MOV	$ECADR,R0
	105304	104073				WCRAM			;WRITE C-RAM BACK
	105306	000137	100230			JMP	$KONSL
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 114
	CONS11 PAL[KL,SYS]	Page 32 	PDP-10 START/STOP FUNCTIONS

					;MICRO-CODE TIME FIELD CHANGE ROUTINE
					
	105312	104226			.MT:	DFLEGAL			;FUNCTION LEGAL ?
	105314	104021				TTICRA
	105316	010037	147744			MOV	R0,$ECADR
					
	105322	104017				TTISDO
	105324	020027	000003			CMP	R0,#3		;TIME FIELD IS 0-3
	105330	003202				BGT	.CSRER
	105332	010005				MOV	R0,R5
					
	105334	013700	147744			MOV	$ECADR,R0
	105340	104074				RCRAM			;READ C-RAM
	105342	042710	000012			BIC	#12,(R0)	;CLEAR OLD TIME
	105346	005004				CLR	R4
	105350	032705	000002			BIT	#2,R5
	105354	001402				BEQ	1$
	105356	052704	000010			BIS	#10,R4
	105362	032705	000001		1$:	BIT	#1,R5
	105366	001402				BEQ	2$
	105370	052704	000002			BIS	#2,R4
	105374	050410			2$:	BIS	R4,(R0)		;SET NEW TIME
	105376	000737				BR	.MMX
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 115
	CONS11 PAL[KL,SYS]	Page 33 	PDP-10 START/STOP FUNCTIONS

					;CACHE ENABLE
					
					;CACHE ENABLE BITS ARE CODED AS FOLLOWS:
					;	10 = CACHE 0
					;	 4 = CACHE 1
					;	 2 = CACHE 2
					;	 1 = CACHE 3
					;	17 SIGNIFIES ALL CACHES ENABLED
					
	105400	104016			.CE:	TTISDL			;GET ENABLE CODE
	105402	103411				BCS	20$		;CR, PRINT ENABLE
	105404	104017			1$:	TTISDO
	105406	020027	000017			CMP	R0,#17		;ENABLE IS 0 TO 17
	105412	003003				BGT	2$
	105414	010037	157252			MOV	R0,CLKDFL+4	;PUT IN CLOCK DEFAULT PARAMETER WORD
	105420	000402				BR	20$
	105422	000137	113452		2$:	JMP	$PARAM
					
					20$:	PMSG	<CACHES ENABLED: >
	105426	104025				  $PMSG
	105430	145515				  $$CLIT
	105432	013701	157252			MOV	CLKDFL+4,R1
	105436	010100				MOV	R1,R0
	105440	104047				PNTODT			;PRINT CODE
	105442	000002				  2
	105444	005002			21$:	CLR	R2
	105446	032701	000010			BIT	#10,R1		;CACHE 0 ENABLED ?
	105452	001402				BEQ	22$
	105454	004737	105532			JSR	PC,.CEP
					
	105460	005202			22$:	INC	R2
	105462	032701	000004			BIT	#4,R1		;CACHE 1 ENABLED ?
	105466	001402				BEQ	23$
	105470	004737	105532			JSR	PC,.CEP
					
	105474	005202			23$:	INC	R2
	105476	032701	000002			BIT	#2,R1		;CACHE 2 ENABLED ?
	105502	001402				BEQ	24$
	105504	004737	105532			JSR	PC,.CEP
					
	105510	005202			24$:	INC	R2
	105512	032701	000001			BIT	#1,R1		;CACHE 3 ENABLED ?
	105516	001402				BEQ	25$
	105520	004737	105532			JSR	PC,.CEP
					
	105524	104031			25$:	PCRLF
	105526	000137	100014			JMP	$CONSL
					
					.CEP:	PMSG	<, CACHE >
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 116
	CONS11 PAL[KL,SYS]	Page 33.1 	PDP-10 START/STOP FUNCTIONS

	105532	104025				  $PMSG
	105534	145536				  $$CLIT
	105536	010200				MOV	R2,R0
	105540	104030				PNTNBR			;PRINT CACHE ENABLE DIGIT
	105542	000207				RTS	PC
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 117
	CONS11 PAL[KL,SYS]	Page 34 	PDP-10 START/STOP FUNCTIONS

					;AC BLOCK SELECTION
					;SETS UP "PAGDFL" WORD USED BY "DATAO PAG,0"
					;DURING "STD,STM,STL & DDT" START COMMANDS
					;SAME "PAGDFL" WORD USED BY "DATAO PAG,20"
					;DURING AC BLOCK SELECTION COMMAND
					
	105544	104226			.AC:	DFLEGAL
	105546	012705	157256			MOV	#PAGDFL+2,R5
	105552	104016				TTISDL			;ALLOW FOR "ACBLK" OR "AC BLK"
	105554	103103				 BCC	5$		;NUMBER
	105556	122700	000102			CMPB	#'B,R0
	105562	001100				BNE	5$
	105564	104005				TTICHR
	105566	122700	000114			CMPB	#'L,R0
	105572	001074				BNE	5$
	105574	104005				TTICHR
	105576	122700	000113			CMPB	#'K,R0
	105602	001070				BNE	5$
					
	105604	104016				TTISDL			;ANY NUMBER ?
	105606	103424				 BCS	4$		;NO, PRINT PRESENT SELECTION
					
	105610	104017				TTISDO			;GET SELECTION DIGIT
	105612	020027	000007			CMP	R0,#7		;MUST BE 0 TO 7
	105616	003062				BGT	5$
	105620	001450				BEQ	3$		;IF BLK #7, GIVE UCODE WARNING
					
					1$:	PUSH	R0
						PMSG	<PREV AC BLK >
	105624	104025				  $PMSG
	105626	145547				  $$CLIT
	105630	011500				MOV	(R5),R0
	105632	104053				SHIFTR
	105634	000013				  11.
	105636	104030				PNTNBR
	105640	104214				PNTCI
	105642	020054				", 
						POP	R0
	105646	104054				SHIFTL			;PLACE SELECTION DIGIT IN BITS 6-8
	105650	000013				  11.
	105652	042715	034000			BIC	#034000,(R5)
	105656	050015				BIS	R0,(R5)		;INSERT IN PAGE DEFAULT WORD
					4$:	PMSG	<SELECTED AC BLK >
	105660	104025				  $PMSG
	105662	145564				  $$CLIT
	105664	011500				MOV	(R5),R0		;PRINT PRESENT AC BLOCK SELECTION
	105666	104053				SHIFTR
	105670	000013				  11.
	105672	104030				PNTNBR
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 118
	CONS11 PAL[KL,SYS]	Page 34.1 	PDP-10 START/STOP FUNCTIONS

	105674	104031				PCRLF
	105676	104104				EXAMT			;SAVE MEM LOCATION 20
	105700	000020				  20
	105702	147606				  $SAV20
	105704	103423				BCS	6$
	105706	104110				DPOSVT			;PUT DATAO PAG ARGUMENT IN 20
	105710	000020				  20
	105712	157254				  PAGDFL
	105714	103417				BCS	6$
	105716	012700	105770			MOV	#DATPAG,R0
	105722	104101				EXCT			;EXECUTE DATAO PAG
	105724	103413				 BCS	6$
	105726	104110				DPOSVT			;RESTORE 20
	105730	000020				  20
	105732	147606				  $SAV20
	105734	103407				BCS	6$
	105736	000137	100014			JMP	$CONSL
					
					3$:	PUSH	R0
						PMSG	<UCODE BLK\>
	105744	104025				  $PMSG
	105746	145605				  $$CLIT
						POP	R0
	105752	000723				BR	1$
					
					6$:	PMSG	<?SELECTION ERR>
	105754	104025				  $PMSG
	105756	145620				  $$CLIT
	105760	000137	100004			JMP	$CNTLC
					
	105764	000137	113452		5$:	JMP	$PARAM		;ERROR
					
					DATPAG:	IO10	DATAO,PAG,,20	;SELECT AC BLOCK
		000000				  .IIF B ,I=0
						  .IIF NB ,I=
		000000				  .IIF B ,XR=0
						  .IIF NB ,XR=
		000002					BLKO=2
		000003					DATAO=3
		000000					BLKI=0
		000001					DATAI=1
		000004					CONO=4
		000005					CONI=5
		000006					CONSZ=6
		000007					CONSO=7
		000000					APR=0
		000004					PI=4
		000010					PAG=10
		000014					CCA=14
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 119
	CONS11 PAL[KL,SYS]	Page 34.2 	PDP-10 START/STOP FUNCTIONS

		000000					ADH=0
		000000					ADL=0
						  .IRPC AD1,20
						  .IIF GE <ADL-10000>,ADH=ADL/10000
						  ADL=10*<ADL&7777>+AD1
						  .ENDM
		770000				  .IIF GE <ADL-10000>,ADH=ADL/10000
		000002				  ADL=10*<ADL&7777>+2
		770002				  .IIF GE <ADL-10000>,ADH=ADL/10000
		000020				  ADL=10*<ADL&7777>+0
		105776			.EVEN
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 120
	CONS11 PAL[KL,SYS]	Page 35 	PDP-10 START/STOP FUNCTIONS

					;START PDP10 AT ADDRESS SPECIFIED AS LOWER 18 BITS OF 36-BIT ARGUMENT.
					
	105776	104226			$ST:	DFLEGAL			;PDP-10 MUST BE STOPPED BEFORE YOU CAN START IT
	106000	104016				TTISDL
	106002	103472				 BCS	4$		;NON-NUMBER
	106004	104020				TTIS36
		106006			$$ST=.
	106006	005005				CLR	R5
	106010	012701	157222		5$:	MOV	#$$STJRS,R1
	106014	112021				MOVB	(R0)+,(R1)+
	106016	112021				MOVB	(R0)+,(R1)+
	106020	142711	000003			BICB	#3,(R1)		;CLEAR BITS 18-19
	106024	151011				BISB	(R0),(R1)	;SET LAST TWO BITS
					
	106026	005705			3$:	TST	R5		;ADDRESS START?
	106030	001442				BEQ	11$		;YES. DO JUST A JRST
	106032	104100				SM			;START MACHINE.  RESET MACHINE
	106034	103502				 BCS	$STERR
	106036	104110				DPOSVT			;DEPOSIT "DATAO PAG,0" ARGUMENT
	106040	000000				  0			;IN AC0, SELECTS CURRENT AC USAGE
	106042	157254				  PAGDFL
	106044	103476				 BCS	$STERR
	106046	104055				SETFLG			;SET TEN RUN FLAG
	106050	147710				  TENRUN
	106052	005037	147442		.IIF DF SAILVR,	CLR	SWTDEP	;DISABLE AUTO-DEPOSIT!
	106056	104145				TENSW			;DEPOSIT PDP-10 SWITCHES
	106060	103002				 BCC	32$
	106062	000137	110270			JMP	C10SWE		;SWITCH ERROR
	106066	012701	000004		32$:	MOV	#4.,R1
	106072	012700	106246			MOV	#$STTB1,R0
					1$:	PUSH	R0
	106100	104101				EXCT			;EXECUTE A TEN INSTR
	106102	103457				 BCS	$STERR
						POP	R0
	106106	062700	000005			ADD	#5,R0
	106112	005301				DEC	R1
	106114	001370				BNE	1$		;DO ANOTHER
	106116	004737	122042			JSR	PC,$TI36C	;ZERO SELECTED AC BLOCK
	106122	012701	147502			MOV	#$DRAM,R1
	106126	012700	000020			MOV	#16.,R0		;FROM AC0 TO AC17
	106132	104112				D10ZRO			;NECESSARY FOR FM PARITY
	106134	103442				 BCS	$STERR
	106136	012700	157222		11$:	MOV	#$$STJRS,R0
	106142	104101				EXCT			;EXECUTE JRST TO START ADR
	106144	103436				 BCS	$STERR
	106146	005037	150042			CLR	TENTTY		;TURN OFF "TENCHR" ROUTINE
	106152	004737	115154			JSR	PC,$CMCLR	;CLEAR COMMON STORAGE
	106156	012737	000144	152226		MOV	#100.,$ENDCT	;REPORT EOP EVERY 100
	106164	000137	104002			JMP	$RNN
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 121
	CONS11 PAL[KL,SYS]	Page 35.1 	PDP-10 START/STOP FUNCTIONS

					
	106170	122700	000104		4$:	CMPB	#'D,R0		;IF "STD", START 10 DIAGNOSTIC
	106174	001006				BNE	6$
	106176	012700	100064			MOV	#TDIAG,R0
	106202	104022			7$:	TTITRM
		106204			$$$ST=.
	106204	012705	777777			MOV	#-1,R5
	106210	000677				BR	5$
					
	106212	122700	000114		6$:	CMPB	#'L,R0		;IF "STL", START PDP-10 LOADER
	106216	001003				BNE	8$
	106220	012700	100074			MOV	#TLDR,R0
	106224	000766				BR	7$
					
	106226	122700	000115		8$:	CMPB	#'M,R0		;IF "STM", START PDP-10 MONITOR
	106232	001017				BNE	.CNERR		;IF NONE, ERROR (DON'T START AT THE LAST START ADDR)
	106234	012700	100100			MOV	#TMON,R0
	106240	000760				BR	7$
					
	106242	000137	104566		$STERR:	JMP	.XCTER
					
		000541				HRRI=541
		000515				HRLZI=515
		000254				JRST=254
		000200				DTE=200
					
					$STTB1:	IO10	CONO,APR,,267760	;RESET APR
		000000				  .IIF B ,I=0
						  .IIF NB ,I=
		000000				  .IIF B ,XR=0
						  .IIF NB ,XR=
		000002					BLKO=2
		000003					DATAO=3
		000000					BLKI=0
		000001					DATAI=1
		000004					CONO=4
		000005					CONI=5
		000006					CONSZ=6
		000007					CONSO=7
		000000					APR=0
		000004					PI=4
		000010					PAG=10
		000014					CCA=14
		000000					ADH=0
		000000					ADL=0
						  .IRPC AD1,267760
						  .IIF GE <ADL-10000>,ADH=ADL/10000
						  ADL=10*<ADL&7777>+AD1
						  .ENDM
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 122
	CONS11 PAL[KL,SYS]	Page 35.2 	PDP-10 START/STOP FUNCTIONS

		770000				  .IIF GE <ADL-10000>,ADH=ADL/10000
		000002				  ADL=10*<ADL&7777>+2
		770002				  .IIF GE <ADL-10000>,ADH=ADL/10000
		000026				  ADL=10*<ADL&7777>+6
		770026				  .IIF GE <ADL-10000>,ADH=ADL/10000
		000267				  ADL=10*<ADL&7777>+7
		770267				  .IIF GE <ADL-10000>,ADH=ADL/10000
		002677				  ADL=10*<ADL&7777>+7
		772677				  .IIF GE <ADL-10000>,ADH=ADL/10000
		026776				  ADL=10*<ADL&7777>+6
		000002				  .IIF GE <ADL-10000>,ADH=ADL/10000
		067760				  ADL=10*<ADL&7777>+0
						IO10	CONO,PI,,10000		;PI SYSTEM CLEAR
		000000				  .IIF B ,I=0
						  .IIF NB ,I=
		000000				  .IIF B ,XR=0
						  .IIF NB ,XR=
		000002					BLKO=2
		000003					DATAO=3
		000000					BLKI=0
		000001					DATAI=1
		000004					CONO=4
		000005					CONI=5
		000006					CONSZ=6
		000007					CONSO=7
		000000					APR=0
		000004					PI=4
		000010					PAG=10
		000014					CCA=14
		000000					ADH=0
		000000					ADL=0
						  .IRPC AD1,10000
						  .IIF GE <ADL-10000>,ADH=ADL/10000
						  ADL=10*<ADL&7777>+AD1
						  .ENDM
		770000				  .IIF GE <ADL-10000>,ADH=ADL/10000
		000001				  ADL=10*<ADL&7777>+1
		770001				  .IIF GE <ADL-10000>,ADH=ADL/10000
		000010				  ADL=10*<ADL&7777>+0
		770010				  .IIF GE <ADL-10000>,ADH=ADL/10000
		000100				  ADL=10*<ADL&7777>+0
		770100				  .IIF GE <ADL-10000>,ADH=ADL/10000
		001000				  ADL=10*<ADL&7777>+0
		771000				  .IIF GE <ADL-10000>,ADH=ADL/10000
		010000				  ADL=10*<ADL&7777>+0
						IO10	CONO,PAG,,0		;PAGING SYSTEM CLEAR
		000000				  .IIF B ,I=0
						  .IIF NB ,I=
		000000				  .IIF B ,XR=0
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 123
	CONS11 PAL[KL,SYS]	Page 35.3 	PDP-10 START/STOP FUNCTIONS

						  .IIF NB ,XR=
		000002					BLKO=2
		000003					DATAO=3
		000000					BLKI=0
		000001					DATAI=1
		000004					CONO=4
		000005					CONI=5
		000006					CONSZ=6
		000007					CONSO=7
		000000					APR=0
		000004					PI=4
		000010					PAG=10
		000014					CCA=14
		000000					ADH=0
		000000					ADL=0
						  .IRPC AD1,0
						  .IIF GE <ADL-10000>,ADH=ADL/10000
						  ADL=10*<ADL&7777>+AD1
						  .ENDM
		770000				  .IIF GE <ADL-10000>,ADH=ADL/10000
		000000				  ADL=10*<ADL&7777>+0
						IO10	DATAO,PAG,,0		;USER BASE CLEAR & AC SELECT
		000000				  .IIF B ,I=0
						  .IIF NB ,I=
		000000				  .IIF B ,XR=0
						  .IIF NB ,XR=
		000002					BLKO=2
		000003					DATAO=3
		000000					BLKI=0
		000001					DATAI=1
		000004					CONO=4
		000005					CONI=5
		000006					CONSZ=6
		000007					CONSO=7
		000000					APR=0
		000004					PI=4
		000010					PAG=10
		000014					CCA=14
		000000					ADH=0
		000000					ADL=0
						  .IRPC AD1,0
						  .IIF GE <ADL-10000>,ADH=ADL/10000
						  ADL=10*<ADL&7777>+AD1
						  .ENDM
		770000				  .IIF GE <ADL-10000>,ADH=ADL/10000
		000000				  ADL=10*<ADL&7777>+0
		106272			.EVEN
	106272	000137	113356		.CNERR:	JMP	$PARA
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 124
	CONS11 PAL[KL,SYS]	Page 36 	PDP-10 DEPOSIT AND EXAMINE CONSOLE FUNCTIONS

					.SBTTL	PDP-10 DEPOSIT AND EXAMINE CONSOLE FUNCTIONS
					
	106276	012705	147724		.DP:	MOV	#.DPXAD,R5
	106302	104016				TTISDL
	106304	103426				 BCS	.DPS
	106306	104020				TTIS36
	106310	012025				MOV	(R0)+,(R5)+	;LOW ADDRESS
	106312	011015				MOV	(R0),(R5)	;HIGH ADDRESS
	106314	005745			.DPNX1:	TST	-(R5)
					
	106316	104020			.DPCOM:	TTIS36			;GET DATA
	106320	010501				MOV	R5,R1		;PTR TO ADR
	106322	004737	106366			JSR	PC,$TENRN
	106326	104105				DPOS			;DO IT
	106330	103402				 BCS	.DPCM1
	106332	000137	100230		$VBX:	JMP	$KONSL
					
					.DPCM1:	PMSG	<?DM>
	106336	104025				  $PMSG
	106340	145637				  $$CLIT
	106342	004137	141214			JSR	R1,$DFTM1
					
	106346	012705	147724		.DPNX:	MOV	#.DPXAD,R5
	106352	062725	000001			ADD	#1,(R5)+	;BUMP LOW
	106356	005515				ADC	(R5)		;CARRY TO HIGH
	106360	000755				BR	.DPNX1
					
	106362	102755			.DPS:	BVS	.DPCOM		;COLON, USE PRESENT ADDRESS
	106364	000742				BR	.CNERR
					
	106366	032777	004000	050754	$TENRN:	BIT	#ERRSTP,@.DIAG1	;TEN CLOCK RUNNING ?
	106374	001402				BEQ	1$		;YES, OK
	106376	000137	107566			JMP	TENCERR		;NO, REPORT IT
	106402	000207			1$:	RTS	PC
					
	106404	104022			$VB:	TTITRM
	106406	005737	147604			TST VRBFLG
	106412	001405				BEQ $VB1
	106414	005037	147604			CLR VRBFLG
					PMSG <CONCISE TYPEOUT
					>
	106420	104025				  $PMSG
	106422	145643				  $$CLIT
	106424	000742				BR $VBX
					
	106426	104055			$VB1:	SETFLG
	106430	147604				 VRBFLG
					PMSG <VERBOSE TYPEOUT
					>
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 125
	CONS11 PAL[KL,SYS]	Page 36.1 	PDP-10 DEPOSIT AND EXAMINE CONSOLE FUNCTIONS

	106432	104025				  $PMSG
	106434	145665				  $$CLIT
	106436	000735				BR $VBX
					
	106440	104022			$KA:	TTITRM
	106442	004737	110540			JSR PC,KASET		;ENABLE KASIM
	106446	000731				BR $VBX
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 126
	CONS11 PAL[KL,SYS]	Page 37 	PDP-10 DEPOSIT AND EXAMINE CONSOLE FUNCTIONS

					;MEMORY ZERO
					;  "MZ ADR,COUNT"
					
	106450	104226			.MZ:	DFLEGAL 		;FUNCTION LEGAL ?
	106452	104020				TTIS36 			;INPUT PDP-10 START ADDRESS
	106454	013737	147502	147560		MOV	$DRAM,MMDAT	;SAVE IT
	106462	013737	147504	147562		MOV	$DRAM+2,MMDAT+2
	106470	012701	147560			MOV	#MMDAT,R1	;POINTER FOR D10ZRO
	106474	104020				TTIS36			;INPUT NUMBER OF PDP-10 WORDS
	106476	103437				 BCS	1$
	106500	013702	147504			MOV	$DRAM+2,R2	;PICK UP NUMBER OF 64K MOBIES
	106504	001425				BEQ	2$
	106506	100004				BPL	4$
	106510	012702	000010			MOV	#XMEMSZ/64.,R2	;MZ 0,-1.  DON'T TRY TO CLEAR
	106514	005037	147502			CLR	$DRAM		; 4096 MILLION WORDS.
	106520	005000			4$:	CLR	R0		;CLEAR ONE SMALL MOBY
	106522	104112				D10ZRO
	106524	103430				 BCS	3$
	106526	004737	120666			JSR	PC,$TIRDY	;ALLOW ↑C IN THIS SLOW LOOP
	106532	103406				BCS	69$
	106534	123727	147764	000003		CMPB	$TICHR,#CNTRLC
	106542	001002				BNE	69$
	106544	000137	120522			JMP	$TICC		;↑C, ABORT
					
	106550	005237	147562		69$:	INC	MMDAT+2		;BUMP ADDRESS
	106554	005302				DEC	R2
	106556	003360				BGT	4$
	106560	013700	147502		2$:	MOV	$DRAM,R0	;CLEAR FINAL FRACTIONAL MOBY
	106564	001402				BEQ	5$		;EXACT MULTIPLE OF 64K
	106566	104112				D10ZRO 			;ZERO MEMORY
	106570	103406				 BCS	3$
					
	106572	000137	100230		5$:	JMP	$KONSL
					
	106576	012737	000001	147502	1$:	MOV	#1,$DRAM	;NO COUNT SPECIFIED
	106604	000765				BR	2$		;SO CLEAR ONE WORD
					
					3$:	PMSG	<?MZ>
	106606	104025				  $PMSG
	106610	145707				  $$CLIT
	106612	004137	141214			JSR	R1,$DFTM1
	106616	000137	107030			JMP	$RUNLP
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 127
	CONS11 PAL[KL,SYS]	Page 38 	PDP-10 DEPOSIT AND EXAMINE CONSOLE FUNCTIONS

	106622	012705	147724		.EXM:	MOV	#.DPXAD,R5
	106626	005003				CLR	R3
	106630	104016				TTISDL
	106632	103456				 BCS	.EXMSP		;NON-NUMBER
	106634	104020				TTIS36			;GET PDP-10 ADDRESS
	106636	012025				MOV	(R0)+,(R5)+	;SAVE LOW 16 BITS
	106640	011015				MOV	(R0),(R5)	;SAVE HIGH BITS
	106642	005745				TST	-(R5)
	106644	104015				TTIBRK			;GET BREAK
	106646	103611				 BCS	.CNERR
	106650	122700	000054			CMPB	#',,R0
	106654	001004				BNE	.EXCOM
	106656	005103				COM	R3		;COMMA, MULTIPLE PRINT
	106660	104044				PNORML
	106662	104020				TTIS36			;GET ENDING ADDRESS
	106664	011004				MOV	(R0),R4		;SAVE LOW 16 BITS
					
	106666	010500			.EXCOM:	MOV	R5,R0
	106670	004737	106366			JSR	PC,$TENRN
	106674	104103				EXAM
	106676	103424				 BCS	3$
	106700	105737	147752		5$:	TSTB	RPTFLG
	106704	001017				BNE	1$
	106706	010500				MOV	R5,R0
	106710	104137				PNTADR
	106712	104177				PNTBAK			;BACKUP POINTER TO WIPE OUT SPACE
	106714	104033				PSLASH
	106716	012700	147502			MOV	#$DRAM,R0
	106722	104042				PNT36
	106724	005703				TST	R3		;DOING MULTIPLE PRINT ?
	106726	001405				BEQ	2$
	106730	104031				PCRLF
	106732	021504				CMP	(R5),R4
	106734	001402				BEQ	2$
	106736	005215				INC	(R5)		;INCREMENT LOW 16 BITS, 64K
	106740	000752				BR	.EXCOM		;DO NEXT ADDRESS
	106742	104031			2$:	PCRLF
	106744	000137	100230		1$:	JMP	$KONSL
					
	106750	100404			3$:	BMI	4$
						PMSG	<?EM>
	106752	104025				  $PMSG
	106754	145713				  $$CLIT
	106756	004137	141214			JSR	R1,$DFTM1
					
	106762	104026			4$:	$PMSGR
	106764	125114				  $EBPAR		;E-BUS PARITY ERROR
	106766	000744				BR	5$
					
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 128
	CONS11 PAL[KL,SYS]	Page 38.1 	PDP-10 DEPOSIT AND EXAMINE CONSOLE FUNCTIONS

	106770	102405			.EXMSP:	BVS	.EXMNX		;COLON OR SLASH, EXAMINE NEXT
	106772	001335				BNE	.EXCOM		;NONE, EXAMINE SAME
	106774	162725	000001			SUB	#1,(R5)+	;UPARROW, EXAMINE PREVIOUS
	107000	005615				SBC	(R5)
	107002	000405				BR	.EXMN1
	107004	012705	147724		.EXMNX:	MOV	#.DPXAD,R5
	107010	062725	000001			ADD	#1,(R5)+
	107014	005515				ADC	(R5)
	107016	005237	150736		.EXMN1:	INC	$INPTC
	107022	005003				CLR	R3
	107024	005745				TST	-(R5)
	107026	000717				BR	.EXCOM
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 129
	CONS11 PAL[KL,SYS]	Page 39 	CONSOLE IDLE RUN LOOP

					.SBTTL	CONSOLE IDLE RUN LOOP
					
					;PROVIDES PDP-10 SUPPORT WHEN "TENRUN" SET
					;AND ADDITIONALY PDP-10 MONITOR SUPPORT IF "MONMODE" SET
					
	107030	105737	147710		$RUNLP:	TSTB	TENRUN			;PDP-10 RUN TIME SUPPORT ?
	107034	001002				BNE	1$			;JUMP IF YES
	107036	000137	120146			JMP	$TTILIN			;NO, CONSOLE COMMAND INPUT
					
	107042	005037	147622		1$:	CLR	DDTTM2			;SETUP DDT MODE TIMEOUT
	107046	032777	002000	050274	2$:	BIT	#KLRUN,@.DIAG1		;IS THE KL10 RUNNING?
	107054	001002				BNE	3$			;YES.
	107056	000137	107710			JMP	TENDEAD			;PDP-10 HALTED
					
	107062	032777	004000	050260	3$:	BIT	#ERRSTP,@.DIAG1		;PDP-10 CLOCK ERROR STOP ?
	107070	001402				BEQ	31$			;NO.
	107072	000137	107566			JMP	TENCERR			;YES, REPORT.
					
	107076	004737	110742		31$:	JSR	PC,C10COP		;PERFORM CLOCK OPERATIONS
					.LIF DF %%QMP
	107102	004737	137350			JSR	PC,SND10		;CHECK FOR QUEUED MESSAGE FOR 10
					
					.LIF NDF %%QMP
						BIT	#TO11DB,@.STDTE		;IS PDP-10 REQUESTING SERVICE?
					
					.LIF DF %%QMP
	107106	005737	157136			TST	T11DBF			;IS PDP-10 REQUESTING SERVICE?
					
	107112	001141				BNE	TENCMD			;YES.
					
	107114	005737	147706		5$:	TST	MONMODE			;MONITOR SUPPORT MODE ?
	107120	001412				BEQ	20$			;NO
					
	107122	004737	120666		6$:	JSR	PC,$TIRDY		;TTY INPUT FLAG SET ?
	107126	103024				BCC	MTTYIN			;YES, SEND CHAR TO 10
					
	107130	005737	147704		7$:	TST	MTTYOF			;TTY OUTPUT IN PROGRESS ?
	107134	001744				BEQ	2$			;NO
					
	107136	004737	120774		8$:	JSR	PC,$TORDY		;TTY OUTPUT COMPLETED ?
	107142	103057				BCC	MTTYOC			;YES, NOTIFY 10
	107144	000740				BR	2$			;STAY IN MONITOR LOOP
					
	107146	005737	147760		20$:	TST	DDTFLG			;PDP-10 DDT INPUT MODE ?
	107152	001405				BEQ	21$			;NO
	107154	005337	147622		23$:	DEC	DDTTM2			;WAITED LONG ENOUGH ?
	107160	001332				BNE	2$			;NOT YET
	107162	005037	147760			CLR	DDTFLG			;YES, REVERT TO CONSOLE MODE
					
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 130
	CONS11 PAL[KL,SYS]	Page 39.1 	CONSOLE IDLE RUN LOOP

	107166	004737	120666		21$:	JSR	PC,$TIRDY	;ANY TTY INPUT YET ?
	107172	103725				BCS	2$		;NO, STAY IN RUN LOOP
	107174	000137	120062			JMP	$TILRN		;YES, GO INPUT
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 131
	CONS11 PAL[KL,SYS]	Page 40 	CONSOLE IDLE RUN LOOP

				;MONITOR TELETYPE CHARACTER INPUT -- MTTYIN MTTYI0 MTTYI1 C10DN1 MTTYER MTTYOC MTTYO MTTYP MTTYX MTTYC MTTYCF $MC MTTYS C10DN
					2
					
	107200	113700	147764		MTTYIN:	MOVB	$TICHR,R0	;GET INPUT CHAR
	107204	120027	000030			CMPB	R0,#MSWCHR	;MONITOR TO "KLDCP" SWITCH CHAR ?
	107210	001004				BNE	MTTYI1		;JUMP IF NOT.
					MTTYI0:	PMSG	<\KLDCP\. ←>
	107212	104025				  $PMSG
	107214	145717				  $$CLIT
	107216	000137	120146			JMP	$TTILIN		;READ ONE KLDCP COMMAND, REVERT TO RUN LOOP
					
	107222	010037	147466		MTTYI1:	MOV	R0,TENDAT
	107226	012737	004000	147444	.IIF NE EPTREL,	MOV	#XEPT!PRTOFF,$TADSP	;SET ADDR MODE FOR NEXT EXDEP
	107234	104110				DPOSVT			;SEND CHAR TO TEN
	107236	000450				  $DTF11
	107240	147466				  TENDAT
	107242	103415				 BCS	MTTYER		;FAILED
	107244	012737	004000	147444	.IIF NE EPTREL,	MOV	#XEPT!PRTOFF,$TADSP	;SET ADDR MODE FOR NEXT EXDEP
	107252	104111				D10MON			;SET -1 TO 10 TTY INPUT FLAG
	107254	000456				  $DTMTI
	107256	103407				 BCS	MTTYER
					
	107260	005737	147700		C10DN1:	TST KASIM
	107264	001261				BNE $RUNLP		;AVOID DINGING 10 IF KASIM
	107266	012777	000400	050060	C10DN2:	MOV #INT10S,@.STDTE	;DING TEN
	107274	000655				BR $RUNLP
					
	107276	000137	110100		MTTYER:	JMP	C10TIE
					
					;MONITOR TELETYPE OUTPUT COMPLETE
					
					MTTYOC:
	107302	012737	004000	147444	.IIF NE EPTREL,	MOV	#XEPT!PRTOFF,$TADSP	;SET ADDR MODE FOR NEXT EXDEP
	107310	104111				D10MON			;SET -1 TO 10 TTY OUTPUT DONE FLAG
	107312	000455				  $DTMTD
	107314	103770				 BCS	MTTYER
	107316	005037	147704			CLR	MTTYOF		;CLEAR OUTPUT IN PROGRESS
	107322	000756				BR	C10DN1
					
					;MONITOR TELETYPE OUTPUT ROUTINE
					
	107324	010500			MTTYO:	MOV	R5,R0		;GET OUTPUT CHAR
	107326	042700	177400			BIC	#177400,R0	;STRIP TO 8 BITS, 10 DOES PARITY
	107332	110037	147762			MOVB	R0,$TOCHR	;PRINT CHAR
	107336	004737	121036			JSR	PC,$TOOUT
	107342	104055			MTTYP:	SETFLG
	107344	147704				  MTTYOF		;SET OUTPUT IN PROGRESS FLAG
	107346	000467			MTTYX:	BR	C10DON		;ALLOW 10 TO CONTINUE
					
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 132
	CONS11 PAL[KL,SYS]	Page 40.1 	CONSOLE IDLE RUN LOOP

					;MONITOR MODE CONTROL
					
	107350	104055			MTTYC:	SETFLG			;SET MONITOR MODE.
	107352	147706				  MONMODE
	107354	000772				BR	MTTYP		;SET OUTPUT IN PROGRESS, EVEN IF IT'S NOT.
					
	107356	005037	147706		MTTYCF:	CLR	MONMODE		;CLEAR
	107362	000771				BR	MTTYX
					
	107364	104055			$MC:	SETFLG			;CONSOLE MONITOR CONTINUE
	107366	147706				  MONMODE
	107370	104055				SETFLG
	107372	147710				  TENRUN		;ONLY WAY TO GET BACK FROM CONTROL C
	107374	104055				SETFLG
	107376	147634				  PRGRUN
	107400	104055				SETFLG
	107402	147704				  MTTYOF		;SET OUTPUT IN PROGRESS FLAG (even if not true)
	107404	000550				BR	$$TDX
					
	107406	013700	147706		MTTYS:	MOV	MONMODE,R0	;SEND 10 MONITOR TTY STATE
	107412	000137	110056			JMP	C10TIX
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 133
	CONS11 PAL[KL,SYS]	Page 41 	PDP-10 RUN TIME SUPPORT		;TENCMD CMD10T C10DON

					.SBTTL	PDP-10 RUN TIME SUPPORT		;TENCMD CMD10T C10DON
					
					TENCMD:
	107416	012737	004000	147444	.IIF NE EPTREL,	MOV	#XEPT!PRTOFF,$TADSP	;SET ADDR MODE FOR NEXT EXDEP
	107424	104104				EXAMT			;GET COMMAND CODE
	107426	000451				  $DTCMD
	107430	147614				  $ECMD
	107432	103004				BCC	1$
	107434	100002				BPL	2$		;EXAMINE FAILED
	107436	104025				$PMSG
	107440	125114				  $EBPAR		;E-BUS PARITY ERROR
	107442	000443			2$:	BR	C10DNX
					
	107444	013705	147614		1$:	MOV	$ECMD,R5
	107450	010501				MOV	R5,R1
	107452	000301				SWAB	R1
	107454	042701	177760			BIC	#177760,R1
						SL	R1,1
	107462	000171	107466			JMP	@CMD10T(R1)	;DISPATCH TO ROUTINE
					
	107466	107772			CMD10T:	C10TO		;TTY OUT
	107470	110406				C10PRG		;PROGRAM CONTROL
	107472	110574				C10CLK		;CLOCK
	107474	110170				C10SW		;SWITCHES
	107476	107772				C10TO		;TTY OUT
	107500	110020				C10TI		;TTY IN
	107502	110146				C10PNT		;PRINT CONTROL
	107504	110344				C10DDT		;DDT INPUT MODE
	107506	107324				MTTYO		;MONITOR TTY OUTPUT
	107510	107350				MTTYC		;MONITOR TTY MODE CONTROL ON
	107512	107356				MTTYCF		;MONITOR TTY MODE CONTROL OFF
	107514	107406				MTTYS		;MONITOR TTY STATE
	107516	137166				QMPCMD		;14 COMMAND FOR QMP (TO11 ITEM COUNT)
	107520	107552				C10DNX		;15-17 UNUSED NOW
	107522	107552				C10DNX
	107524	107552				C10DNX
					
					C10DON:
					.IIF NDF %%QMP,	MOV #INT11C,@.STDTE	;CLEAR DONG
	107526	005037	157136		.IIF DF %%QMP,	CLR T11DBF		;CLEAR SOFTWARE DONG
	107532	012737	004000	147444	.IIF NE EPTREL,	MOV #XEPT!PRTOFF,$TADSP	;SET ADDR MODE FOR NEXT EXDEP
	107540	104111				D10MON		;SET -1 TO 10 "$DTFLG"
	107542	000444				  $DTFLG	;DTE20 OPERATION COMPLETE FLAG
	107544	103402				 BCS C10DNX	;next page.
	107546	000137	107266			JMP C10DN2	;DONG 10, WAIT FOR NEXT COMMAND
					
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 134
	CONS11 PAL[KL,SYS]	Page 42 	PDP-10 RUN TIME SUPPORT		;TENCMD CMD10T C10DON

					;C10DNX, TENCERR
					
					.IF NDF %%QMP
					QMPCMD:			;COMMAND UNDEFINED IF NO QMP
					.ENDC
					
	107552	005037	147710		C10DNX:	CLR	TENRUN
						PMSG	<?10 CMD>
	107556	104025				  $PMSG
	107560	145732				  $$CLIT
	107562	004137	141214			JSR	R1,$DFTM1	;FALLS INTO TENCERR
	107566	005037	147710		TENCERR:CLR	TENRUN
	107572	005037	147474			CLR	KLCLKR		;CLEAR TEN RUNNING
	107576	104043				PFORCE
						PMSG	<\KL10 CLOCK ERROR STOP>
	107600	104025				  $PMSG
	107602	145742				  $$CLIT
	107604	104140				DFRDT
	107606	000106				  106
	107610	032777	000040	047504		BIT	#BIT5,@.DAT3	;FIELD SERVICE ?
	107616	001402				BEQ	1$
	107620	104025				$PMSG	
	107622	105067				  $PEFS			;FS PROBE
					
	107624	104140			1$:	DFRDT
	107626	000105				  105
	107630	032777	000040	047464		BIT	#BIT5,@.DAT3	;FM PARITY ?
	107636	001402				BEQ	2$
	107640	104025				$PMSG	
	107642	105017				  $PEFM			;FM PARITY
					
	107644	104140			2$:	DFRDT
	107646	000104				  104
	107650	032777	000040	047444		BIT	#BIT5,@.DAT3	;CRAM PARITY ?
	107656	001402				BEQ	3$
	107660	104025				$PMSG	
	107662	105033				  $PECR			;CRAM PARITY
					
	107664	104140			3$:	DFRDT
	107666	000103				  103
	107670	032777	000040	047424		BIT	#BIT5,@.DAT3	;DRAM PARITY ?
	107676	001402				BEQ	4$
	107700	104025				$PMSG	
	107702	105051				  $PEDR			;DRAM PARITY
	107704	104132			4$:	PNTCPU			;PRINT ALL CPU INFORMATION
	107706	000407				BR	$$TDX
					
	107710	005037	147710		TENDEAD: CLR	TENRUN		;CLEAR TEN RUN FLAG
	107714	104043				PFORCE
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 135
	CONS11 PAL[KL,SYS]	Page 42.1 	PDP-10 RUN TIME SUPPORT		;TENCMD CMD10T C10DON

						PMSG	<\KL10 HALTED >
	107716	104025				  $PMSG
	107720	145771				  $$CLIT
	107722	004737	107732			JSR	PC,$ALSTA
	107726	000137	100014		$$TDX:	JMP	$CONSL
					
	107732	104055			$ALSTA:	SETFLG			;MAKE COMMAND ROUTINES INTO SUBROUTINES!
	107734	147754				  ALLFLG
	107736	004737	102642			JSR	PC,$ALLPC	;PRINT PC
	107742	004737	102760			JSR	PC,$ALVMA	; AND VMA
	107746	004737	103420			JSR	PC,$ALLPI	; AND PI
						PMSG	< >
	107752	104025				  $PMSG
	107754	146007				  $$CLIT
	107756	004737	103024			JSR	PC,$ALPCF	; AND PC FLAGS
	107762	104031				PCRLF			;AND CRLF
	107764	005037	147754			CLR	ALLFLG
	107770	000207				RTS	PC
					
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 136
	CONS11 PAL[KL,SYS]	Page 43 	PDP-10 RUN TIME SUPPORT		;TENCMD CMD10T C10DON

					;C10TO, C10TI
					
	107772	104055			C10TO:	SETFLG			;TEN TO ELEVEN FOR TYPEOUT
	107774	150042				  TENTTY		;ALLOW "TENCHR" TO OPERATE
	107776	012737	150052	150270		MOV	#$TNBUF,$TNPTC	;RESET 10 INPUT POINTERS
	110004	012737	150052	150272		MOV	#$TNBUF,$TNPTR
	110012	010501				MOV	R5,R1		;GET ASCII CHAR
	110014	104154				PLDBUF			;PUT IN TTY OUT BUFFER
	110016	000643				BR	C10DON
					
	110020	005037	147760		C10TI:	CLR	DDTFLG		;TTY INPUT TO 10
	110024	022737	150274	150514		CMP	#$OUTBF,$OUTPT	;ANY OUTPUT WAITING ?
	110032	001025				BNE	C10TIZ		;YES
	110034	023737	150270	150272	11$:	CMP	$TNPTC,$TNPTR	;CURRENT BUFFER EMPTY ?
	110042	002021				BGE	C10TIZ		;YES
					
	110044	013701	150270			MOV	$TNPTC,R1	;GET CHAR POINTER
	110050	112100				MOVB	(R1)+,R0	;FETCH CHAR FROM 10 BUFFER
	110052	010137	150270			MOV	R1,$TNPTC
					
	110056	010037	147466		C10TIX:	MOV	R0,TENDAT	;PUT CHAR IN 28-35 OF TEN WORD
	110062	012737	004000	147444	.IIF NE EPTREL,	MOV	#XEPT!PRTOFF,$TADSP	;SET ADDR MODE FOR NEXT EXDEP
	110070	104110				DPOSVT			;DEPOSIT IN FROM 11 WORD
	110072	000450				  $DTF11
	110074	147466				  TENDAT
	110076	103213				 BCC	C10DON
					C10TIE:	PMSG	<?10 TTI>
	110100	104025				  $PMSG
	110102	146011				  $$CLIT
	110104	000473				BR	$$C1
	110106	104004			C10TIZ:	TTILIN			;INPUT LINE FOR TEN
	110110	103414				 BCS	5$		;NO RESPONSE
	110112	012701	150052			MOV	#$TNBUF,R1
	110116	104005			3$:	TTICHR			;GET CHAR FROM INPUT
	110120	103402				 BCS	4$		;EMPTY
	110122	110021				MOVB	R0,(R1)+	;PUT IN TEN BUFFER
	110124	000774				BR	3$
	110126	010137	150272		4$:	MOV	R1,$TNPTR	;UPDATE 10 EOL POINTER
	110132	012737	150052	150270		MOV	#$TNBUF,$TNPTC	;SET PICKUP POINTER TO START
	110140	000727				BR	C10TI		;GO SEND FIRST CHAR TO TEN
	110142	005000			5$:	CLR	R0		;NULL = TIMEOUT
	110144	000744				BR	C10TIX
					
	110146	010501			C10PNT:	MOV	R5,R1		;GET CONTROL BYTE
	110150	042701	177400			BIC	#177400,R1
	110154	010137	150000			MOV	R1,$FORCE	;PUT IN FORCE FLAG
	110160	005037	147760			CLR	DDTFLG		;CLEAR DDT MODE
	110164	000137	107526		C10X:	JMP	C10DON
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 137
	CONS11 PAL[KL,SYS]	Page 44 	PDP-10 RUN TIME SUPPORT		;TENCMD CMD10T C10DON

					;Switch functions.  C10SW
					
	110170	010501			C10SW:	MOV	R5,R1 		;LOAD SWITCHES INTO FROM 11 WORD
	110172	042701	177774			BIC	#177774,R1	;2 BIT SUBFUNCTION
						SL	R1,1
	110200	000171	110204			JMP	@C10SWT(R1)
					
	110204	110226			C10SWT:	C10SW0			;NORMAL SWITCH READ
	110206	110214				C10SW1			;ENABLE AUTOMATIC DEPOSIT SWITCHES IN 10-MEMORY
	110210	110222				C10SW2			;DISABLE AUTOMATIC DEPOSIT SWITCHES IN 10-MEMORY
	110212	110226				C10SW0			;UNDEFINED.
					
	110214	104055			C10SW1:	SETFLG
	110216	147442				 SWTDEP
	110220	000402				BR	C10SW0
					
	110222	005037	147442		C10SW2:	CLR	SWTDEP		;DON'T AUTO-DEPOSIT
					C10SW0:
	110226	012737	004000	147444	.IIF NE EPTREL,	MOV	#XEPT!PRTOFF,$TADSP	;SET ADDR MODE FOR NEXT EXDEP
	110234	104110				DPOSVT			;LOAD SWITCHES INTO FROM 11 WORD
	110236	000450				  $DTF11
	110240	157240				  SWS10
	110242	103412				 BCS	C10SWE		;BRANCH IF LOSING
					
	110244	005737	147442			TST	SWTDEP		;DID PDP-10 ASK FOR SWITCHES?
	110250	001745				BEQ	C10X		;NO.  WELL, DON'T STORE UNTIL ASKED.  DONE
	110252	012737	004000	147444	.IIF NE EPTREL,	MOV	#XEPT!PRTOFF,$TADSP	;SET ADDR MODE FOR NEXT EXDEP
	110260	104110				DPOSVT			;LOAD SWITCHES INTO $DTSWR
	110262	000457				  $DTSWR
	110264	157240				  SWS10
	110266	103336				 BCC	C10X		;BRANCH IF WINNING
					
					C10SWE:	PMSG	<?10 SW>
	110270	104025				  $PMSG
	110272	146021				  $$CLIT
	110274	000137	100004		$$C1:	JMP	$CNTLC
					
	110300	012705	157240		$SW:	MOV	#SWS10,R5
	110304	104016				TTISDL
	110306	103407				 BCS	1$		;NON-NUMBER, TYPE PRESENT
	110310	104020				TTIS36
	110312	012025				MOV	(R0)+,(R5)+	;PUT IN SWITCH WORD
	110314	011015				MOV	(R0),(R5)
	110316	104145			2$:	TENSW			;DO PDP-10 SWITCHES
	110320	103763				 BCS	C10SWE		;ERROR
	110322	000137	100230		3$:	JMP	$KONSL
					
	110326	104145			1$:	TENSW			;FIRST READ AND STORE CURRENT SWITCHES
	110330	103757				 BCS C10SWE
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 138
	CONS11 PAL[KL,SYS]	Page 44.1 	PDP-10 RUN TIME SUPPORT		;TENCMD CMD10T C10DON

	110332	104043				PFORCE
	110334	010500				MOV	R5,R0		;PRINT CURRENT SWITCHES
	110336	104042				PNT36
	110340	104031				PCRLF
	110342	000767				BR	3$
					
	110344	104055			C10DDT:	SETFLG
	110346	147760				  DDTFLG		;SET FOR DDT MODE INPUT
	110350	104043				PFORCE			;SET FORCED PRINTOUT
	110352	022737	150274	150514		CMP	#$OUTBF,$OUTPT	;ANY OUTPUT WAITING ?
	110360	001403				BEQ	2$		;NO
	110362	104055				SETFLG
	110364	150004				  $TTLKF		;PREVENT INPUT CHECKS
	110366	104151				PRINTT			;YES, PRINT IT
	110370	104006			2$:	TTLOOK			;GET INPUT CHAR
	110372	103400				 BCS	3$		;NOTHING THERE, SEND ZERO
	110374	120027	000030		3$:	CMPB	R0,#MSWCHR	;SWITCH TO KLDCP?
	110400	001226				BNE	C10TIX		;NO.
	110402	000137	107212			JMP	MTTYI0		;YES.  READ A LINE FOR KLDCP
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 139
	CONS11 PAL[KL,SYS]	Page 45 	PDP-10 RUN TIME SUPPORT		;TENCMD CMD10T C10DON

					;C10PRG C10PT C10P2 C10P1 C10X1 C10P3 C10P4 C10P5 C10KAS KASET
					
	110406	010501			C10PRG:	MOV	R5,R1		;GET CONTROL FIELD
	110410	042701	177760			BIC	#177760,R1
						SL	R1,1
	110416	000171	110422			JMP	@C10PT(R1)	;DISPATCH
					
	110422	107710			C10PT:	TENDEAD		;HALT
	110424	110466				C10P1		;FATAL
	110426	110462				C10P2		;ERROR HALT
	110430	110476				C10P3		;END OF PROGRAM
	110432	110504				C10P4		;END OF PASS
	110434	110510				C10P5		;GIVE PDP-10 CLOCK DEFAULT WORD
	110436	112156				DIASEL		;"DIAMON" FILE SELECTION
	110440	112242				DIARD		;"DIAMON" FILE READ
	110442	112144				P10CMD		;PDP-10 PROGRAM COMMAND
	110444	110530				C10KAS		;TURN ON KA SIMULATION
	110446	107552				C10DNX
	110450	107552				C10DNX
	110452	107552				C10DNX
	110454	107552				C10DNX
	110456	107552				C10DNX
	110460	107552				C10DNX
					
	110462	105037	147710		C10P2:	CLRB	TENRUN
	110466	005037	152236		C10P1:	CLR	TENCLK
	110472	000137	107526		C10X1:	JMP	C10DON
					
	110476	105037	147710		C10P3:	CLRB	TENRUN		;TURN OFF TEN RUNNING
	110502	104062				ERREOP			;END OF PROGRAM
					
	110504	104061			C10P4:	EOP
	110506	000626				BR	C10X
					
					C10P5:
	110510	012737	004000	147444	.IIF NE EPTREL,	MOV	#XEPT!PRTOFF,$TADSP	;SET ADDR MODE FOR NEXT EXDEP
	110516	104110				DPOSVT
	110520	000450				  $DTF11
	110522	157246				  CLKDFL
	110524	103453				 BCS C10BCR
	110526	000442				BR C10CX
					
	110530	004737	110540		C10KAS:	JSR PC,KASET	;SET KASIM MODE
	110534	000137	107526			JMP C10DON
					
	110540	005737	147700		KASET:	TST KASIM
	110544	001012				BNE 1$		;KASIM ALREADY ENABLED
	110546	104055				SETFLG
	110550	147700				 KASIM
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 140
	CONS11 PAL[KL,SYS]	Page 45.1 	PDP-10 RUN TIME SUPPORT		;TENCMD CMD10T C10DON

	110552	104055				SETFLG
	110554	147442				 SWTDEP		;ENABLE AUTO SWITCH DEPOSIT
	110556	104055				SETFLG
	110560	147706				 MONMODE	;TURN ON MONMODE FOR TTY I/O
	110562	104055				SETFLG
	110564	147704				 MTTYOF		;SET TTY OUTPUT DONE FLAG
	110566	104055				SETFLG
	110570	152236				 TENCLK		;ENABLE CLOCK INTERRUPTS AND SETTING DTCLK
	110572	000207			1$:	RTS PC
					
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 141
	CONS11 PAL[KL,SYS]	Page 46 	PDP-10 RUN TIME SUPPORT		;TENCMD CMD10T C10DON

					;Clock operations.  C10CLK
					
	110574	010501			C10CLK:	MOV	R5,R1
		000007			.IIF EQ SAILVR,	BIC	#177774,R1
	110576	042701	177770		.IIF GT SAILVR, BIC	#177770,R1		;3 BITS FOR SAIL
						SL	R1,1
	110604	000171	110610			JMP	@C10CPT(R1)
					
	110610	110630			C10CPT:	C10C0			;DISABLE CLOCK COUNT
	110612	110660				C10C1			;RESET CLOCK COUNT.  ENABLE CLOCK COUNT
	110614	110714				C10C2			;RESET CLOCK. ENABLE CLOCK INT AFTER PERIOD
	110616	110640				C10C3			;READ CLOCK COUNT TO 10.
		000007			.IF GT SAILVR
	110620	111154				C10C4			;SET TIME BASE FROM 10. ENABLE KEEPING TIME
	110622	111342				C10C5			;GIVE TIME BASE TO 10.
					.IF DF CLKASB
	110624	111550				C10C6			;STORE AND ENABLE STORING TIME IN $DTTIME
	110626	111140				C10CER
					.IFF
						C10CER			;ERROR
						C10CER			;ERROR
					.ENDC ;CLKASB
					.ENDC ;SAILVR
					
	110630	005037	152236		C10C0:	CLR	TENCLK
	110634	000137	107526		C10CX:	JMP	C10DON
					
					C10C3:
	110640	012737	004000	147444	.IIF NE EPTREL,	MOV	#XEPT!PRTOFF,$TADSP	;SET ADDR MODE FOR NEXT EXDEP
	110646	104110				DPOSVT			;LOAD CLOCK COUNT INTO FROM 11 WORD
	110650	000450				  $DTF11
	110652	147446				  CLKCNT
	110654	103531			C10BCR:	 BCS	C10CER		;ERROR
	110656	000766				BR	C10CX
					
	110660	104055			C10C1:	SETFLG
	110662	152236				  TENCLK
					.IF NDF SAILVR
					C10CX1:	BIC	#200,KWLKS
					1$:	TSTB	KWLKS		;WAIT FOR CLOCK
						BPL	1$		;THEN CLEAR TO ALLOW FOR
						BIC	#200,KWLKS	;16MS BEFORE 1ST CLOCK
					.IFF
	110664	005037	157160		C10CX1:	CLR	CLKFLG		;SAIL VERSION.  WAIT FOR CLOCK FLAG TO CHANGE
	110670	005737	157160		1$:	TST	CLKFLG
	110674	001775				BEQ	1$		;LOOP UNTIL INTERRUPT SEEN.
					.ENDC
					
	110676	012700	147446			MOV	#CLKCNT,R0	;INIT CLOCK COUNTER
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 142
	CONS11 PAL[KL,SYS]	Page 46.1 	PDP-10 RUN TIME SUPPORT		;TENCMD CMD10T C10DON

	110702	005020				CLR	(R0)+
	110704	005020				CLR	(R0)+
	110706	005010				CLR	(R0)
	110710	000137	107526			JMP	C10DON
					
					
					C10C2:
	110714	012737	004000	147444	.IIF NE EPTREL,	MOV	#XEPT!PRTOFF,$TADSP	;SET ADDR MODE FOR NEXT EXDEP
	110722	104104				EXAMT			;GET WAIT COUNT FROM TO 11 WORD
	110724	000447				  $DTT11
	110726	147454				  C10CW
	110730	103503				 BCS	C10CER
	110732	012737	177400	152236		MOV	#177400,TENCLK
	110740	000751				BR	C10CX1
					
					C10COP:
					.IF NDF SAILVR
						TSTB	KWLKS		;CLOCK FLAG SET ?
						BPL	1$		;NO, RETURN
						BIC	#200,KWLKS	;CLEAR FLAG
					.IFF
	110742	005737	157160			TST	CLKFLG
	110746	001473				BEQ	1$
	110750	005037	157160			CLR	CLKFLG
					.ENDC
					
	110754	005237	147702			INC	$TTYTIM		;COUNT TTY TIMER
	110760	023737	177570	157230		CMP	SWR,$$SWR	;PDP-11 CONSOLE SWITCHES CHANGED ?
	110766	001404				BEQ	3$		;NO
						PUSH	R0
	110772	104145				TENSW			;YES, DO PDP-10 SWITCHES
	110774	103461				 BCS	C10CER		;ERROR
						POP	R0
	111000	105737	147710		3$:	TSTB	TENRUN		;IS 10 RUNNING ?
	111004	001454				BEQ	1$		;NO
					.IF DF CLKASB
	111006	005737	157140			TST TMSFLG
	111012	001413				BEQ 4$			;NOT TIME TO STORE TIME
	111014	005037	157140			CLR TMSFLG
	111020	004737	111600			JSR PC,RDCLK		;READ TIME/DATE INTO TIMTMP
	111024	012737	004000	147444	.IIF NE EPTREL,	MOV #XEPT!PRTOFF,$TADSP	;SET ADDR MODE FOR NEXT EXDEP
	111032	104106				DPOST			;STORE IN EPT DTTIME
	111034	000446				  $DTTIME
	111036	157152				  TIMTMP
	111040	103437				 BCS C10CER		;ERROR
					.ENDC ;DF CLKAB
	111042	005737	152236		4$:	TST	TENCLK
	111046	001433				BEQ	1$		;CLOCK NOT ENABLED
	111050	062737	000001	147446		ADD	#1,CLKCNT	;INCREMENT PDP-10 CLOCK COUNT
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 143
	CONS11 PAL[KL,SYS]	Page 46.2 	PDP-10 RUN TIME SUPPORT		;TENCMD CMD10T C10DON

	111056	005537	147450			ADC	CLKCNT+2
	111062	005537	147452			ADC	CLKCNT+4
	111066	105737	152236			TSTB	TENCLK		;DOING WAIT ?
	111072	001004				BNE	2$		;NO
	111074	023737	147446	147454		CMP	CLKCNT,C10CW	;WAITED LONG ENOUGH ?
	111102	001015				BNE	1$		;NOT YET
					2$:	PUSH	<R0,R1>
	111110	012737	004000	147444	.IIF NE EPTREL,	MOV	#XEPT!PRTOFF,$TADSP	;SET ADDR MODE FOR NEXT EXDEP
	111116	104111				D10MON			;SET -1 TO 10 "$DTCLK"
	111120	000445				  $DTCLK
	111122	103406				 BCS	C10CER
	111124	012777	000400	046222		MOV	#INT10S,@.STDTE	;DING TEN
						POP	<R1,R0>
	111136	000207			1$:	RTS	PC
					
	111140	005037	152236		C10CER:	CLR	TENCLK
						PMSG	<?10 CLKOP>
	111144	104025				  $PMSG
	111146	146030				  $$CLIT
	111150	000137	100004			JMP	$CNTLC
					
					
		000007			.IFG SAILVR
					C10C4:	
	111154	012737	004000	147444	.IIF NE EPTREL,	MOV	#XEPT!PRTOFF,$TADSP	;SET ADDR MODE FOR NEXT EXDEP
	111162	104104				EXAMT					;GET ADDRESS FROM TO 11 WORD
	111164	000447				  $DTT11
	111166	157144				  TIMADR
	111170	103763				 BCS	C10CER				;CAN'T READ ADDRESS
	111172	012700	157144			MOV	#TIMADR,R0
	111176	042760	177774	000002		BIC	#177774,2(R0)			;CLEAR ALL BUT BITS 18-19 (TIMADR+2)
	111204	012737	024000	147444		MOV	#EXVIRT!PRTOFF,$TADSP		;ADDRESS GIVEN IS EXEC VIRTUAL
	111212	104103				EXAM					;EXAMINE 10.  RESULT TO $DRAM
	111214	103751				 BCS	C10CER				;IF EXAMINE FAILED.
	111216	013700	147502			MOV	$DRAM,R0			;HIGH WORD BITS 20-35
						SL	R0,3				;SHIFT THREE PLACES
	111230	010037	157150			MOV	R0,TIMADR+4			;SAVE HIGH BITS FOR AWHILE
	111234	012700	157144			MOV	#TIMADR,R0
	111240	062720	000001			ADD	#1,(R0)+			;INCREMENT PDP-10 ADDRESS
	111244	005510				ADC	(R0)				;FOR FETCH OF LOW ORDER WORD
	111246	042710	177774			BIC	#177774,(R0)
	111252	005740				TST	-(R0)
	111254	012737	024000	147444		MOV	#EXVIRT!PRTOFF,$TADSP		;ADDRESS GIVEN IS EXEC VIRTUAL
	111262	104103				EXAM	
	111264	103725				 BCS	C10CER
	111266	012700	147506			MOV	#$DRAM+4,R0
	111272	042710	177770			BIC	#177770,(R0)			;CLEAR ALL BUT LOW WORD'S BITS 1-3
	111276	053710	157150			BIS	TIMADR+4,(R0)			;INCLUDE BITS 23-35 OF HIGH WORD
	111302	012701	157170			MOV	#TIMBAS+4,R1
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 144
	CONS11 PAL[KL,SYS]	Page 46.3 	PDP-10 RUN TIME SUPPORT		;TENCMD CMD10T C10DON

						PUSH	PS
	111312	012737	000340	177776		MOV	#PR7,PS				;TURN OFF INTERRUPTS
	111320	011011				MOV	(R0),(R1)
	111322	014041				MOV	-(R0),-(R1)
	111324	014041				MOV	-(R0),-(R1)
						POP	PS
	111332	104055				SETFLG
	111334	157162				 KTIMBS					;KEEP TIME BASE
	111336	000137	107526		C10XXX:	JMP	C10DON
					
					
	111342	012701	157152		C10C5:	MOV	#TIMTMP,R1
	111346	012700	157164			MOV	#TIMBAS,R0
						PUSH	PS
	111356	012737	000340	177776		MOV	#PR7,PS				;TURN OFF INTERRUPTS
	111364	012021				MOV	(R0)+,(R1)+			;COPY TIMTMP←TIMBAS
	111366	012021				MOV	(R0)+,(R1)+
	111370	011011				MOV	(R0),(R1)
						POP	PS
	111376	005737	157162			TST	KTIMBS				;ARE WE COUNTING TIMEBASE?
	111402	001003				BNE	1$				;JUMP IF YES
	111404	005011				CLR	(R1)				;NO. TIMEBASE NOT KEPT OR INVALID
	111406	005041				CLR	-(R1)				;RETURN ZERO.
	111410	005041				CLR	-(R1)
					1$:
	111412	012737	004000	147444	.IIF NE EPTREL,	MOV	#XEPT!PRTOFF,$TADSP	;SET ADDR MODE FOR NEXT EXDEP
	111420	104104				EXAMT					;GET DEP ADDRESS FROM TO 11 WORD
	111422	000447				  $DTT11
	111424	157144				  TIMADR
	111426	103644				 BCS	C10CER				;CAN'T READ ADDRESS
	111430	012701	157144			MOV	#TIMADR,R1
	111434	042761	177774	000002		BIC	#177774,2(R1)			;CLEAR ALL BUT BITS 18-19 (TIMADR+2)
	111442	013702	157156			MOV	TIMTMP+4,R2			;GET HIGH ORDER TIME BASE
						SR	R2,3				;SHIFT TO ALIGN BITS 23-35
	111454	012700	147506			MOV	#$DRAM+4,R0
	111460	005010				CLR	(R0)
	111462	005040				CLR	-(R0)
	111464	010240				MOV	R2,-(R0)			;$DRAM+0←BITS 23-35 OF HIGH WORD
	111466	012737	024000	147444		MOV	#EXVIRT!PRTOFF,$TADSP		;ADDRESS GIVEN IS EXEC VIRTUAL
	111474	104107				DPOSVR					;SEND HIGH WORD
	111476	103620				 BCS	C10CER
	111500	012701	157144			MOV	#TIMADR,R1			;INCREMENT ADDRESS TO LOW WORD
	111504	062721	000001			ADD	#1,(R1)+
	111510	005511				ADC	(R1)
	111512	042711	177774			BIC	#177774,(R1)
	111516	005741				TST	-(R1)
	111520	042737	177770	157156		BIC	#177770,TIMTMP+4		;CLEAR ALL BUT BITS 1-3
	111526	012700	157152			MOV	#TIMTMP,R0
	111532	012737	024000	147444		MOV	#EXVIRT!PRTOFF,$TADSP		;ADDRESS GIVEN IS EXEC VIRTUAL
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 145
	CONS11 PAL[KL,SYS]	Page 46.4 	PDP-10 RUN TIME SUPPORT		;TENCMD CMD10T C10DON

	111540	104107				DPOSVR
	111542	103275				 BCC	C10XXX
	111544	000137	111140		C10CR1:	JMP	C10CER
					
					.IF DF CLKASB
	111550	104055			C10C6:	SETFLG				;ENABLE STORING TIME/DATE
	111552	157142				 TIMFLG
	111554	004737	111600			JSR PC,RDCLK			;READ CLOCK INTO TIMTMP
	111560	012737	004000	147444	.IIF NE EPTREL,	MOV #XEPT!PRTOFF,$TADSP	;SET ADDR MODE FOR NEXT EXDEP
	111566	104110				DPOSVT
	111570	000446				  $DTTIME
	111572	157152				  TIMTMP
	111574	103763				 BCS C10CR1			;ERROR
	111576	000657				BR C10XXX
					
					;FORMAT OF DTTIME PDP10 WORD IS:
					;BYTE (5)DAY (2)0 (5)HOUR (2)0 (6)MINUTE (4)MONTH,YEAR (2)0 (6)SECOND
					
					RDCLK:	PUSH R0
						PUSH R1
						PUSH R2
						PUSH R3
	111610	105777	766236		2$:	TSTB @$CLKST
	111614	100375				BPL 2$				;MAKE SURE CLOCK IS READY
	111616	017700	766222			MOV @$CLKMD,R0
	111622	017701	766220			MOV @$CLKHM,R1
	111626	017702	766216			MOV @$CLKSEC,R2
	111632	027700	766206			CMP @$CLKMD,R0
	111636	001364				BNE 2$
	111640	027701	766202			CMP @$CLKHM,R1
	111644	001361				BNE 2$
	111646	027702	766176			CMP @$CLKSEC,R2
	111652	001356				BNE 2$
	111654	032702	001400			BIT #1400,R2			;TEST LOW TWO YEAR BITS
	111660	001407				BEQ 3$				;BRANCH IF A LEAP YEAR
	111662	020027	001035			CMP R0,#2*400+29.		;IS IT FEB 29?
	111666	001004				BNE 3$				;NO
	111670	012777	001501	766146		MOV #3*400+1+100,@$CLKMD	;YES, SET TO MAR 1
	111676	000744				BR 2$
	111700	010003			3$:	MOV R0,R3
						SL R3,4
	111712	042703	007777			BIC #7777,R3			;LEAVE TOP 4 BITS (MONTH)
	111716	050302				BIS R3,R2			;MONTH/YEAR//SECONDS
	111720	006000				ROR R0
	111722	103002				BCC 1$
	111724	052701	100000			BIS #100000,R1			;LOW BIT OF DAY
	111730	012703	157152		1$:	MOV #TIMTMP,R3
	111734	010223				MOV R2,(R3)+
	111736	010123				MOV R1,(R3)+
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 146
	CONS11 PAL[KL,SYS]	Page 46.5 	PDP-10 RUN TIME SUPPORT		;TENCMD CMD10T C10DON

	111740	042700	177760			BIC #177760,R0			;JUST KEEP LOW 4 BITS
	111744	010013				MOV R0,(R3)
						POP R3
						POP R2
						POP R1
						POP R0
	111756	000207				RTS PC
					
	111760	000002			TCUINT:	RTI				;INT FROM SETTING CLOCK
					
					.ENDC ;DF CLKASB
					
					.ENDC ;SAILVR
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 147
	CONS11 PAL[KL,SYS]	Page 47 	PDP-10 RUN TIME SUPPORT		;TENCMD CMD10T C10DON

					;PDP-10 SWITCH REGISTER
					
	111762	013737	177570	157230	$TENSW:	MOV	SWR,$$SWR	;GET PDP-11 SWITCHES
	111770	013737	157230	157234		MOV	$$SWR,$SWS10+2
					
	111776	012701	157232			MOV	#$SWS10,R1	;POSITION FOR 0 TO 15 OF
	112002	012703	000004			MOV	#4,R3		;PDP-10 SWITCH REGISTER
	112006	104146				PROL36
					
	112010	012704	157234			MOV	#$SWS10+2,R4	;Bits 4:15 + xxxx of new stuff
	112014	012705	157242			MOV	#SWS10+2,R5	;old switches.
					
	112020	042714	000017			BIC	#17,(R4)	;CLEAR 16-19 FROM NEW
	112024	042715	177760			BIC	#177760,(R5)	;CLEAR 4-15 FROM OLD
					
	112030	052425				BIS	(R4)+,(R5)+	;INSERT BITS 4-15
					
	112032	042714	177760			BIC	#177760,(R4)	;CLEAR HI JUNK FROM NEW
	112036	042715	000017			BIC	#17,(R5)	;CLEAR 0-3 FROM OLD
					
	112042	051415				BIS	(R4),(R5)	;INSERT BITS 0-3
					
	112044	105737	147710			TSTB	TENRUN		;PDP-10 RUNNING ?
	112050	001412				BEQ	1$		;NO
					
					.IF DF SAILVR
	112052	005737	147442			TST	SWTDEP		;DID PDP-10 ASK FOR SWITCHES?
	112056	001407				BEQ	1$		;NO.  WELL, DON'T STORE UNTIL ASKED
					.ENDC
					
	112060	012737	004000	147444	.IIF NE EPTREL,	MOV	#XEPT!PRTOFF,$TADSP	;SET ADDR MODE FOR NEXT EXDEP
	112066	104110				DPOSVT			;DEPOSIT PDP-10 SWITCH REGISTER
	112070	000457				  $DTSWR		;IN DTE20 COMM AREA
	112072	157240				  SWS10
	112074	103402				 BCS	2$		;ERROR
		112076			$TCX=.
					1$:	EXIT
	112076	000137	124062			  JMP	$EXIT
					2$:	EXITERR			;RETURN
	112102	000137	124034			  JMP	$EXITE
					
					;PDP-10 LAST TYPED CHARACTER ROUTINE
					
	112106	105737	147710		$TENCHR:TSTB	TENRUN		;PDP-10 RUNNING ?
	112112	001771				BEQ	$TCX		;NO
	112114	005737	150042			TST	TENTTY		;TTY DEPOSIT ALLOWED ?
	112120	001766				BEQ	$TCX		;NO
						PUSH	R0
	112124	012737	004000	147444	.IIF NE EPTREL,	MOV	#XEPT!PRTOFF,$TADSP	;SET ADDR MODE FOR NEXT EXDEP
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 148
	CONS11 PAL[KL,SYS]	Page 47.1 	PDP-10 RUN TIME SUPPORT		;TENCMD CMD10T C10DON

	112132	104106				DPOST			;YES, SEND LAST TYPED CHAR
	112134	000454				  $DTCHR
	112136	150044				  $TNCHR
						POP	R0
	112142	000755				BR	$TCX		;DON'T CARE IF FAILED
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 149
	CONS11 PAL[KL,SYS]	Page 48 	PDP-10 PROGRAM COMMAND

					.SBTTL	PDP-10 PROGRAM COMMAND
					
	112144	012700	777777		P10CMD:	MOV	#-1,R0		;USE OUTPUT BUFFER
	112150	104133				PRGCMD			;& PROGRAM COMMAND
	112152	103430				 BCS	DIANF		;C-BIT SET, ERROR
	112154	000424				BR	DIAFND		;PASSED
					
					.SBTTL	"DIAMON" FILE SELECTION AND READ ROUTINES
					
	112156	012701	150520		DIASEL:	MOV	#$INBUF,R1	;PUT "P" & "SPACE" FIRST
	112162	012721	020120			MOV	#"P ,(R1)+	;IN CASE ACT10 LOAD
	112166	012700	150274			MOV	#$OUTBF,R0	;TRANSFER "DIAMON" FILE.EXT
	112172	010037	150514			MOV	R0,$OUTPT	;TO INPUT BUFFER
	112176	004737	101612			JSR	PC,$DIASX
	112202	012737	150522	150736		MOV	#$INBUF+2,$INPTC ;SET PICKUP POINTER
					
	112210	104206				NAMEXT			;SETUP FILE NAME.EXT
					
	112212	104055				SETFLG
	112214	150754				  LDCNTL		;SET LOAD CONTROL TO HELP
	112216	104055				SETFLG
	112220	151140				  DIAFLG		;SET PROCESSING TO "DIAMON" MODE
					
	112222	000137	133346			JMP	DEVFIL		;GO LOOKUP & READ FIRST ASCII LINE
					
					;RETURN HERE WHEN FILE FOUND
	112226	005000			DIAFND:	CLR	R0		;SET FOUND INDICATOR
	112230	000137	110056		$DIAFX:	JMP	C10TIX		;USE 10 TTY INPUT ROUTINE
					
					;RETURN HERE WHEN FILE NOT FOUND
	112234	012700	777777		DIANF:	MOV	#-1,R0		;SET NOT FOUND INDICATOR
	112240	000773				BR	$DIAFX
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 150
	CONS11 PAL[KL,SYS]	Page 49 	"DIAMON" FILE SELECTION AND READ ROUTINES

					;"DIAMON" FILE READ
					
	112242	004737	122042		DIARD:	JSR	PC,$TI36C	;CLEAR 36 BIT WORD STORAGE
					
	112246	023737	150736	150740		CMP	$INPTC,$INPTR	;ANY CURRENT INPUT ?
	112254	003402				BLE	DIARNL		;NO
	112256	000137	140422		1$:	JMP	ACTLD2		;GO READ NEXT INPUT LINE
					
		112262			DIARNL=.			;RETURN HERE WITH NEW LINE SETUP
	112262	012702	000005		2$:	MOV	#5,R2		;5 ASCII CHARS PER 36 BIT WORD
					
	112266	023737	150736	150740	3$:	CMP	$INPTC,$INPTR	;EOL ?
	112274	003014				BGT	4$		;YES
	112276	117700	036434			MOVB	@$INPTC,R0	;GET FILE LINE CHAR
	112302	005237	150736			INC	$INPTC
	112306	012701	000007			MOV	#7,R1
	112312	004737	121764			JSR	PC,SHFT36	;SHIFT 36 BIT WORD LEFT 7
	112316	150037	147502			BISB	R0,$DRAM	;INSERT NEW ASCII BYTE
	112322	005302				DEC	R2		;DONE 5 CHARS ?
	112324	003360				BGT	3$		;NOT YET
					
	112326	005001			4$:	CLR	R1		;LEFT JUSTIFY FOR PDP-10 ASCII
	112330	004737	121764			JSR	PC,SHFT36
					
	112334	012737	004000	147444	.IIF NE EPTREL,	MOV	#XEPT!PRTOFF,$TADSP	;SET ADDR MODE FOR NEXT EXDEP
	112342	104110				DPOSVT			;LOAD INTO FROM 11 WORD
	112344	000450				  $DTF11
	112346	147502				  $DRAM
	112350	103012				 BCC	6$		;OK
					
					5$:	PMSG	<?DIAMON XFER>
	112352	104025				  $PMSG
	112354	146042				  $$CLIT
	112356	000137	100004			JMP	$CNTLC
					
		112362			DIAEOF=.			;DIAMON READ END-OF-FILE
	112362	012737	004000	147444	.IIF NE EPTREL,	MOV	#XEPT!PRTOFF,$TADSP	;SET ADDR MODE FOR NEXT EXDEP
	112370	104111				D10MON			;SET FROM 11 WORD -1
	112372	000450				  $DTF11
	112374	103766				 BCS	5$		;ERROR
					
	112376	000137	107526		6$:	JMP	C10DON		;TELL 10 TO CONTINUE
					
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 151
	CONS11 PAL[KL,SYS]	Page 50 	PDP-11 CONSOLE FUNCTIONS

					.SBTTL	PDP-11 CONSOLE FUNCTIONS
					
					;START PDP11 AT ADDRESS GIVEN
					
	112402	104016			.SE:	TTISDL
	112404	103405				 BCS	2$		;NON-NUMBER
					
	112406	104200			1$:	TTOCTE			;READ AN OCTAL ADDRESS
					
	112410	010037	157200		4$:	MOV	R0,SEADR	;GO TO ADDRESS IN R0
	112414	000137	113250			JMP	SRT11
					
	112420	122700	000104		2$:	CMPB	#'D,R0		;"D", START DIAGNOSTIC
	112424	001406				BEQ	3$
	112426	122700	000103			CMPB	#'C,R0		;"C", START CONSOLE
	112432	001145				BNE	$$CMDE
	112434	012700	100000			MOV	#PRGSRT,R0
	112440	000763				BR	4$
	112442	012700	003000		3$:	MOV	#3000,R0
	112446	000760				BR	4$
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 152
	CONS11 PAL[KL,SYS]	Page 51 	PDP-11 CONSOLE FUNCTIONS

					;EXAMINE ELEVEN AT ADDRESS GIVEN
					
	112450	012705	000001		.EE:	MOV	#1,R5
	112454	000401				BR	.EEB
					
	112456	005005			.EB:	CLR	R5
					
	112460	012702	147746		.EEB:	MOV	#.EADR,R2
	112464	005003				CLR	R3
	112466	104016				TTISDL
	112470	103445				 BCS	6$		;NON-NUMBER
					
	112472	104010				TTCOCT			;READ AN OCTAL ADDRESS
					
	112474	010001				MOV	R0,R1
	112476	010012				MOV	R0,(R2)		;SAVE ADR FOR DEPOSIT
					
	112500	104015				TTIBRK			;GET BREAK CHAR
	112502	103517				 BCS	$$PARA
	112504	122700	000054			CMPB	#COMMA,R0
	112510	001004				BNE	2$
	112512	005203				INC	R3		;SET MULTIPLE PRINT FLAG
	112514	104044				PNORML
	112516	104010				TTCOCT			;GET LAST ADDRESS
	112520	010004				MOV	R0,R4		;SAVE END ADR
					
	112522	040501			2$:	BIC	R5,R1		;IF WORD, MAKE EVEN
	112524	010100			21$:	MOV	R1,R0
	112526	010112				MOV	R1,(R2)		;SAVE ADDRESS
	112530	104035				PNTOCT			;PRINT ADDRESS
	112532	104033				PSLASH
					
	112534	005705			1$:	TST	R5		;BYTE ?
	112536	001403				BEQ	3$		;YES
					
	112540	011100				MOV	(R1),R0
	112542	104035				PNTOCT			;PRINT CONTENTS OF ADDRESS
	112544	000404				BR	4$
					
	112546	111100			3$:	MOVB	(R1),R0
	112550	042700	177400			BIC	#177400,R0
	112554	104036				PNTOCS			;PRINT BYTE CONTENTS
	112556	005703			4$:	TST	R3
	112560	001406				BEQ	5$
	112562	104031				PCRLF
	112564	020104				CMP	R1,R4
	112566	103003				BHIS	5$
	112570	005201				INC	R1		;INCREMENT ADDRESS
	112572	060501				ADD	R5,R1		;IF WORD, INC BY 2
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 153
	CONS11 PAL[KL,SYS]	Page 51.1 	PDP-11 CONSOLE FUNCTIONS

	112574	000752				BR	2$
					
	112576	104031			5$:	PCRLF
	112600	000137	100230			JMP	$KONSL
					
	112604	001407			6$:	BEQ	7$		;UPARROW
	112606	102002				BVC	61$		;NONE
	112610	005212				INC	(R2)		;EXAMINE NEXT 11 ADDRESS
	112612	060512				ADD	R5,(R2)
	112614	011201			61$:	MOV	(R2),R1
	112616	005237	150736			INC	$INPTC		;ADVANCE PAST TERMINATOR
	112622	000737				BR	2$
					
	112624	005312			7$:	DEC	(R2)
	112626	160512				SUB	R5,(R2)
	112630	000771				BR	61$
					
					;ZERO ELEVEN
					
	112632	104200			.ZE:	TTOCTE			;GET START ADDRESS
	112634	010005				MOV	R0,R5
					
	112636	104010				TTCOCT			;GET END ADDRESS
					
	112640	005025			1$:	CLR	(R5)+		;ZERO 11
	112642	020500				CMP	R5,R0		;COMPLETED ?
	112644	101775				BLOS	1$		;NO
	112646	000137	100014			JMP	$CONSL
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 154
	CONS11 PAL[KL,SYS]	Page 52 	PDP-11 CONSOLE FUNCTIONS

					;DEPOSIT ELEVEN DATA
					
	112652	012705	000001		.DE:	MOV	#1,R5		;DEPOSIT 11 WORD
	112656	000401				BR	.DEB
					
	112660	005005			.DB:	CLR	R5		;DEPOSIT 11 BYTE
					
	112662	012702	147746		.DEB:	MOV	#.EADR,R2
	112666	104016				TTISDL
	112670	103421				 BCS	5$		;NON-NUMBER
					
	112672	104010				TTCOCT			;READ OCTAL ADDRESS
					
	112674	010001			1$:	MOV	R0,R1
	112676	005705				TST	R5
	112700	001402				BEQ	2$
	112702	030500				BIT	R5,R0
	112704	001016				BNE	$$PARA		;WORD, ODD ADDRESSES ILLEGAL
					
	112706	104016			2$:	TTISDL
	112710	103416				 BCS	$$CMDE
	112712	104010				TTCOCT			;GET DATA
					
	112714	010112				MOV	R1,(R2)
					
	112716	005705				TST	R5		;BYTE ?
	112720	001402				BEQ	3$
					
	112722	010011				MOV	R0,(R1)		;STOW IT
	112724	000401				BR	4$
					
	112726	110011			3$:	MOVB	R0,(R1)		;STOW 11 BYTE
	112730	000137	100230		4$:	JMP	$KONSL
					
	112734	102004			5$:	BVC	$$CMDE		;IF COLON, USE PREVIOUS EXAMINE ADDRESS
	112736	011200				MOV	(R2),R0
	112740	000755				BR	1$
					
	112742	000137	113356		$$PARA:	JMP	$PARA
	112746	000137	113364		$$CMDE:	JMP	$CMDE
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 155
	CONS11 PAL[KL,SYS]	Page 53 	KL10 MONITOR & ACT10 COMMAND ROUTINES

					.SBTTL	KL10 MONITOR & ACT10 COMMAND ROUTINES
					
	112752	104055			$VERIFY:SETFLG
	112754	147750				  VERIFY
	112756	104044				PNORML
	112760	005037	150752			CLR	LDOVRD		;CLEAR OVERRIDE
	112764	000430				BR	$PROG1
					
	112766	012737	000001	150752	$LDT:	MOV	#1,LDOVRD	;LOAD TEN, OVERRIDE EXT
	112774	000422				BR	$PROG2
	112776	012737	000002	150752	$LDE:	MOV	#2,LDOVRD	;LOAD ELEVEN, OVERRIDE EXT
	113004	000416				BR	$PROG2
	113006	012737	000003	150752	$LDR:	MOV	#3,LDOVRD	;LOAD RAM, OVERRIDE EXT
	113014	000412				BR	$PROG2
	113016	012737	000006	150752	$LDB:	MOV	#6,LDOVRD	;LOAD ELEVEN BIN, OVERRIDE EXT
	113024	000406				BR	$PROG2
	113026	012737	000007	150752	$LDD:	MOV	#7,LDOVRD	;LOAD DSKDMP BOOTSTRAP INTO KLDCP,OVERRIDE EXT (D10)
	113034	000402				BR	$PROG2
					
	113036	005037	150752		$PROG:	CLR	LDOVRD		;CLEAR OVERRIDE
	113042	005037	147750		$PROG2:	CLR	VERIFY
	113046	005037	150754		$PROG1:	CLR	LDCNTL		;CLEAR LOAD CONTROL FLAG
	113052	005037	150746			CLR	SRTFLG		;CLEAR SELF START FLAG
	113056	105037	077777			CLRB	CONSOL-1	;OVERLAY INUSE INDICATOR
	113062	000430				BR	$HELP1		;GO LOAD PROGRAM
					
	113064	104055			$JFILE:	SETFLG
	113066	147640				  JFILEF		;SET DOUBLE INDIRECT FLAG
	113070	005037	147634			CLR	PRGRUN		;CLEAR PROGRAM RUNNING FLAG
	113074	012737	010000	147642		MOV	#TOUTBF+5000,IFINP	;SETUP STORAGE POINTER
	113102	000403				BR	$IIX
					
	113104	012737	003000	147642	$IFILE:	MOV	#TOUTBF,IFINP	;SETUP STORAGE POINTER
	113112	005037	152234		$IIX:	CLR	PCMDFLG		;CLEAR PROGRAM COMMAND
	113116	104055				SETFLG
	113120	147644				  IFILEF		;SET INDIRECT FILE FLAG
	113122	005077	034514			CLR	@IFINP		;CLEAR 1ST BUFFER WORD
	113126	105037	077777			CLRB	CONSOL-1	;OVERLAY INUSE INDICATOR
					
	113132	005037	150752		$HELP:	CLR	LDOVRD		;CLEAR LOAD OVERRIDE FOR H,I,J
	113136	104055				SETFLG
	113140	150754				  LDCNTL		;SET LOAD CONTROL TO "HELP"
	113142	104044				PNORML
					.IF DF MONASB
						TST	DEVTYP
						BPL	$HELP1
						JMP	ACTFIL		;ACT10 HELP
					.ENDC
	113144	000137	130312		$HELP1:	JMP	DVLOAD		;RP04/DECTAPE/FLOPPY HELP
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 156
	CONS11 PAL[KL,SYS]	Page 54 	KL10 MONITOR & ACT10 COMMAND ROUTINES

					.IF DF MONASB
					$AT:	TTITRM
						SETFLG
						  DEVTYP		;SET ACT10 MODE
						COMCLR			;CLEAR COMMUNICATIONS
						BR	$DTX
					.ENDC
					
	113150	005037	157306		$DT:	CLR	FLOPPY
	113154	104016				TTISDL
	113156	103413				BCS	$DTC		;LETTER
	113160	104017				TTISDO			;GET UNIT SELECTION DIGIT
	113162	020027	000007			CMP	R0,#7		;MUST BE 0 TO 7
	113166	003076				BGT	$CMDE
	113170	000300				SWAB	R0		;PUT IN PROPER PLACE FOR TC11
	113172	010037	157276			MOV	R0,DTUNIT	;SAVE IT
	113176	005037	157310		$RXX:	CLR	DEVTYP		;SET DECTAPE MODE
	113202	000137	100230		$DTX:	JMP	$KONSL
					
					.IF DF RXASB
					$RX:	SETFLG
						  FLOPPY
						TTISDL
						  BCS	$DTC		;LETTER
						TTISDO			;GET SELECTION DIGIT
						CMP	R0,#1		;MUST BE EITHER 0 OR 1
						BGT	$CMDE
						BNE	1$
						MOV	#RXU1,R0
					1$:	MOV	R0,RXUNIT	;SAVE FOR RX11/RX01 FLOPPY
						BR	$RXX
					.ENDC ;IF DF RXASB
					
					$DTC:
					.IF DF UTLASB
						CMP	#"CO,$INBUF+2	;IS COMMAND 'DTCOPY'/'RXCOPY' ?
						BNE	1$
						CMP	#"PY,$INBUF+4
						BNE	1$
						JSR	PC,$KLUCK	;UTILITY IN CORE ?
						TST	FLOPPY
						BEQ	2$
						JMP	@RXCOPY		;FLOPPY COPY
					2$:	JMP	@DTCOPY		;YES
					.ENDC
	113206	000137	100574		1$:	JMP	$CMDER
					
	113212	005237	150736		$GO:	INC	$INPTC
	113216	013700	157202		$$GO:	MOV	PGOCTL,R0	;GO, START PROGRAM
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 157
	CONS11 PAL[KL,SYS]	Page 54.1 	KL10 MONITOR & ACT10 COMMAND ROUTINES

	113222	000170	113226			JMP	@LDSTRT(R0)
					
	113226	113242			LDSTRT:	SRT11X
	113230	113324				SRT10
					
	113232	104022			$JC:	TTITRM
	113234	104055				SETFLG			;SET J FILE FLAG TO CONTINUE
	113236	147640				  JFILEF		;INTERRUPTED J FILE PROCESS
	113240	000760				BR	$DTX
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 158
	CONS11 PAL[KL,SYS]	Page 55 	KL10 MONITOR & ACT10 COMMAND ROUTINES

	113242	013737	157204	157200	SRT11X:	MOV	PGOADR,SEADR
	113250	005737	157200		SRT11:	TST	SEADR
	113254	001417				BEQ	1$		;IF ADR 0, START AT 3000
	113256	032737	000001	157200		BIT	#1,SEADR
	113264	001031				BNE	ADRERR		;ODD ADDRESSES NOT ALLOWED
					
	113266	004737	115154		2$:	JSR	PC,$CMCLR	;CLEAR COMMON STORAGE
					
	113272	005037	147644			CLR	IFILEF		;END INDIRECT PROCESS
	113276	104055				SETFLG
	113300	147634				  PRGRUN
	113302	012700	157774			MOV	#STACK-2,R0	;PASS STACK BASE ADR IN R0
	113306	010006				MOV	R0,SP		;RESET STACK
	113310	000177	043664			JMP	@SEADR		;START 11 PROGRAM AT LOAD ADDRESS
					
	113314	012737	003000	157200	1$:	MOV	#3000,SEADR
	113322	000761				BR	2$
					
	113324	012700	157212		SRT10:	MOV	#TGOADR+2,R0
	113330	012701	157206			MOV	#PGOADR+2,R1	;PUT LOAD ADR IN 10 GO ADR
	113334	011110				MOV	(R1),(R0)
	113336	014140				MOV	-(R1),-(R0)
	113340	000137	106204			JMP	$$$ST		;GO TO 10 START ROUTINE
					
					.LIF NDF MONASB
	113344	000137	100014		$COMNT:	JMP $CONSL
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 159
	CONS11 PAL[KL,SYS]	Page 56 	KL10 MONITOR & ACT10 COMMAND ROUTINES

					.IF DF MONASB
					
					;ACT10 TIME REQUEST
					
					$TIME:	TTBTRM
						TST	DEVTYP
						BPL	$TIME1		;ONLY LEGAL IN ACT10 MODE
					
						COMENQ			;REQUEST APT10 SERVICE
					
						MOV	#$INBUF,R0
						COMCMD			;SEND COMMAND
					
						$PMSG			;PRINT INPUT LINE
						CINBF
						COMCLR
					$TIME3:	JMP	$CONSL
					
					$TIME1:	JMP	NONACT		;NON ACT10
					
					$LOGO:
					$LOGIN:	TST	DEVTYP		;ONLY LEGAL IN ACT10 MODE
						BPL	$TIME1
						TTITRM
					
						COMENQ			;REQUEST SERVICE
					
						MOV	#$INBUF,R0
						COMCMD			;SEND COMMAND
						COMEOT
						BR	$TIME3
					
					$COMNT:	TST	DEVTYP		;ACT10 MODE ?
						BPL	1$		;NO, LOCAL ONLY
					
						COMENQ			;REQUEST APT10 SERVICE
					
						MOV	#$INBUF,R0
						COMCMD			;SEND MESSAGE
						COMEOT
					
					1$:	BR	$TIME3		;BACK TO CONSOLE
					
					$BOOT:
					$SCRPT:
					$MSCP:
					$GSCP:
					$BOOTT:	JMP	$CMDER
					
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 160
	CONS11 PAL[KL,SYS]	Page 56.1 	KL10 MONITOR & ACT10 COMMAND ROUTINES

					.ENDC	;END .IF DF MONASB
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 161
	CONS11 PAL[KL,SYS]	Page 57 	KL10 MONITOR & ACT10 COMMAND ROUTINES

					ADRERR:	PMSG	<?ADR>
	113350	104025				  $PMSG
	113352	146057				  $$CLIT
	113354	000405				BR	COMNER
					
					$PARA:	PMSG	<?PARAM>
	113356	104025				  $PMSG
	113360	146064				  $$CLIT
	113362	000402				BR	COMNER
					
	113364	000137	100574		$CMDE:	JMP	$CMDER
					
					.IF DF MONASB
					NONACT:	PMSG	<?ACT10>
						BR	COMNER
					
					NORESP:	PMSG	<?RESPONSE>
					.ENDC
					
	113370	000137	100004		COMNER:	JMP	$CNTLC
					
					;REINITIALIZE SYSTEM
					
	113374	005037	157316		.RI:	CLR	$ONETM
	113400	000137	100000			JMP	START
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 162
	CONS11 PAL[KL,SYS]	Page 58 	LINE PRINTER SELECTION ROUTINE

					.SBTTL	LINE PRINTER SELECTION ROUTINE
					
					.IF DF LPASB
					
					$LPT:	PMSG	<LP, Y OR N ? - ←>
						TTILIN
						TTIYES
						 BCS	$LPT		;JUNK
						BMI	10$		;NO
						MOV	#NOLP,ERRVEC	;DO WE HAVE A LINE PRINTER CONTROLLER ?
						MOV	$LPS,R0
						TST	(R0)
						TST	R0
						BNE	1$		;LP11
						MOV	#LP20A,R0
						TST	(R0)
						TST	R0
						BNE	2$		;LP20A
						MOV	#LP20B,R0
						TST	(R0)
						TST	R0
						BNE	2$		;LP20B
						MOV	#$TIMOT,ERRVEC
						PMSG	<?NO LPT>
						JMP	$CNTLC
					1$:	CLR	LPTYPE		;LP11 - TYPE = 0
						BR	3$
					2$:	MOV	R0,LPTYPE	;LP20 - TYPE = CONTROLLER BASE ADDRESS
					3$:	MOV	#$TIMOT,ERRVEC
						SETFLG
						  LPTFLG
						TST	LPTYPE
						BNE	5$
						TST	@$LPS		;LP11 - LPT OK ?
						BMI	20$		;NO
					4$:	JMP	$CONSL
					
					5$:	JSR	PC,LP20INI	;INITIALIZE LP20
						BCS	20$		;ERROR
						BR	4$
					10$:	CLR	LPTFLG		;TURN OFF LINE PRINTER
						BR	4$
					20$:	PMSG	<?LP ERR\>
						BR	$LPT
					
					NOLP:	CLR	R0		;NO LP CONTROLLER BUS TRAP
						RTI
					
					.SBTTL	LP20 INITIALIZATION ROUTINE
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 163
	CONS11 PAL[KL,SYS]	Page 58.1 	LINE PRINTER SELECTION ROUTINE

					
					LP20INI:MOV	LPTYPE,R5	;SETUP BASE ADDRESS
						MOV	#LPLINI!LPRERR,(R5) ;CLEAR LP20
						MOV	#VFUDAT,R0	;SETUP VFU BUFFER
						MOV	R0,LPBSAD(R5)	;SETUP BUFFER ADDRESS
						MOV	#037756,(R0)+	;VFU LOAD CODE & ALL CHANS
						MOV	#77,(R0)+
						MOV	#100,R1		;SET FOR 64 LINES ON PAGE
					1$:	CLR	(R0)+
						DEC	R1
						BNE	1$
						MOV	#167400,(R0)	;VFU STOP LOAD CODE
						MOV	#-206,LPBCTR(R5) ;206 BYTE XFER
						MOV	#LPVLOD!LPPENB!LPGO,(R5) ;VFU LOAD & GO
						JSR	PC,LP20DN	;WAIT FOR DONE
						BCS	3$		;ERROR
					
						CLR	LPCBUF(R5)	;CLEAR LP20 RAM
						MOV	#LPLINI!LPRERR,(R5)
						MOV	#-1000,R0	;LOCATION COUNT
						MOVB	#LPPENB,(R5)	;PARENB & NOT GO
					2$:	CLR	LPRAMD(R5)	;CLEAR
						INC	LPCBUF(R5)	;INCREMENT ADDRESS
						INC	R0		;COUNT IT
						BNE	2$		;IF NOT DONE, GO BACK
						CLC			;COMPLETED, C-BIT CLEAR RETURN
						RTS	PC
					
					3$:	SEC			;ERROR, C-BIT SET RETURN
						RTS	PC
					
					.ENDC ;IF DF LPASB
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 164
	CONS11 PAL[KL,SYS]	Page 59 	CONSOLE TELETYPE FUNCTIONS

					.SBTTL	CONSOLE TELETYPE FUNCTIONS
					
	113404	012705	150016		$TP:	MOV	#$TPLIN,R5	;SET TTY PAGE LENGTH
	113410	000402				BR	$TPW
					
	113412	012705	150020		$TW:	MOV	#$PGWID,R5	;SET TTY PAGE WIDTH
					
	113416	104016			$TPW:	TTISDL
	113420	103414				 BCS	$PARAM
					
	113422	104011				TTIDEC			;SPECIFIED IN DECIMAL
	113424	103412				 BCS	$DECN		;WASNT A DECIMAL NUMBER
					
	113426	010015				MOV	R0,(R5)		;SET IT UP
					
	113430	000137	100014		$TPWF:	JMP	$CONSL		;RETURN TO CONSOLE FOR NEXT COMMAND
					
					;TTY FILL CHARACTER PARAMETER
					
	113434	104017			$TF:	TTISDO
					
	113436	020027	000005			CMP	R0,#5		;CHECK FILL PARAMETER UPPER LIMIT
	113442	003003				BGT	$FILPL
					
	113444	010037	147776			MOV	R0,$TTYFL	;SET TTY FILL PARAMETER
					
	113450	000767				BR	$TPWF
					
					;MESSAGES TO OPERATOR
					
					$DECN:
					$FILPL:
					$OCTN:
	113452	000137	113356		$PARAM:	JMP	$PARA
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 165
	CONS11 PAL[KL,SYS]	Page 60 	KLINIK FIELD SERVICE REMOTE DIAGNOSTICS ENABLE

					.SBTTL	KLINIK FIELD SERVICE REMOTE DIAGNOSTICS ENABLE
					
					.IF NDF TELASB
					
					.KLINIK:CMP	#"IN,$INBUF+2
						BNE	2$
						CMP	#"IK,$INBUF+4
						BNE	2$
					
						TST	DL11EFLG		;PRESENTLY ENABLED ?
						BEQ	1$			;NO
					
					KLUNK=.
						CLR	DL11EFLG		;YES, CLEAR IT
						PMSG	<KLINIK CLEARED>
						JMP	$CNTLC
					
					1$:	CLR	@$FSTKS			;INITIALIZE
						BIS	#DLDTR!DLRTS,@$FSTKS	;SET DATA TERMINAL READY
						BIT	#DLCTS,@$FSTKS		;DO WE HAVE CLEAR TO SEND ?
						BEQ	FSDISC			;NO
						COM	DL11EFLG		;ENABLE KLINIK
						PMSG	<KLINIK ENABLED>
						JMP	$CNTLC
					
					2$:	JMP	$CMDER
					
					;DL11E DISCONNECT, CLEAR TO SEND NOT SET
					
					FSDISC:	CLR	DL11EFLG
						PMSG	<\DL11E NOT CLR TO SEND, >
						BR	KLUNK
					
					.ENDC ;IF NDF TELASB
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 166
	CONS11 PAL[KL,SYS]	Page 61 	KLINIK FIELD SERVICE REMOTE DIAGNOSTICS ENABLE

				;⊗ FSRLEN FSRINT FSINT1 FSXIT FSINT2 FSXITC FSINTA FSINT3 FSINT4 FSXITA FSIN4R FSIN4D FSIN4E FSIN4W HANGUP HANGU1 FSHNG1 FSIN
					T5 FSIN5A FSTINT FSTYP FSTYP1 FSTYP2 FSCLKR FSMSG FSLOSM PWORD PWLEN $HU
					
					.SBTTL	FIELD SERVICE TELETYPE INTERRUPT HANDLER
					
					.IF DF TELASB
					
		000012			FSRLEN==10.		;10 CHARACTER FSRBUF
					
					;TRAP HERE WHEN DATASET INTERRUPT OCCURS
					FSRINT:	PUSH R0
						PUSH R1
	113462	017700	764342			MOV @$FSTKS,R0		;GET THE STATUS
	113466	013701	152300			MOV FSSTATE,R1
	113472	001401				BEQ FSINT1		;FIRST INTERRUPT
	113474	000111				JMP @R1
					
	113476	032700	040000		FSINT1:	BIT #DLRI,R0		;TEST FOR RING INDICATION
	113502	001411				BEQ FSXIT		;NOPE
	113504	012737	113534	152300		MOV #FSINT2,FSSTATE	;SET DISPATCH FOR NEXT INT
	113512	012700	000074			MOV #60.,R0
	113516	012701	114050			MOV #HANGU1,R1
	113522	004737	114264			JSR PC,FSCLKR		;SET CLOCK REQUEST TO HANG UP IN ONE MINUTE
					FSXIT:	POP R1
						POP R0
	113532	000006				RTT
					
	113534	032700	010000		FSINT2:	BIT #DLCD,R0		;TEST CARRIER DETECT
	113540	001772				BEQ FSXIT		;NOPE
	113542	032700	020000			BIT #DLCTS,R0		;TEST CLEAR TO SEND
	113546	001767				BEQ FSXIT		;NOPE
	113550	012737	113572	152300		MOV #FSINTA,FSSTATE	;OK, HAVE BOTH
	113556	005777	764250		FSXITC:	TST @$FSTKB		;CLEAR INPUT DONE BY REFERENCING BUFFER
	113562	052777	000100	764240		BIS #DLRIE,@$FSTKS	;SET READER INTERRUPT ENABLE
	113570	000756				BR FSXIT		;wait now for user to type something
					
					;here after user typed some character (any character)
	113572	012737	113626	152300	FSINTA:	MOV #FSINT3,FSSTATE	;ignore input during type out
	113600	012701	114434			MOV #FSMSG,R1
	113604	004737	114210			JSR PC,FSTYP		;TYPE OUT GREETING MESSAGE
	113610	012737	152262	152260		MOV #FSRBUF,FSRPTR
	113616	012737	113636	152300		MOV #FSINT4,FSSTATE
	113624	000754				BR FSXITC		;wait for user to type char of password
					
	113626	032700	020000		FSINT3:	BIT #DLCTS,R0		;MAKE SURE WE HAVE CLEAR TO SEND
	113632	001335				BNE FSXIT
	113634	000502				BR HANGUP
					
	113636	032700	020000		FSINT4:	BIT #DLCTS,R0
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 167
	CONS11 PAL[KL,SYS]	Page 61.1 	FIELD SERVICE TELETYPE INTERRUPT HANDLER

	113642	001477				BEQ HANGUP		;HANGUP IF CLEAR TO SEND IS GONE
	113644	032700	000200			BIT #DLRD,R0		;TEST INPUT DONE
	113650	001726				BEQ FSXIT		;SPURIOUS
	113652	017701	764154			MOV @$FSTKB,R1		;GET THE CHARACTER
	113656	042701	177600			BIC #177600,R1		;ignore parity
	113662	020127	000015			CMP R1,#15
	113666	001426				BEQ FSIN4D		;Return is end of password
	113670	020127	000012			CMP R1,#12
	113674	001423				BEQ FSIN4D		;Linefeed is end of password
	113676	020127	000177			CMP R1,#177
	113702	001411				BEQ FSIN4R		;Rubout allows you to correct previous char
	113704	023727	152260	152274		CMP FSRPTR,#FSRBUF+FSRLEN
	113712	103305				BHIS FSXIT		;NO MORE ROOM
	113714	110177	036340			MOVB R1,@FSRPTR		;STORE THE CHARACTER
	113720	005237	152260			INC FSRPTR
	113724	000700			FSXITA:	BR FSXIT
					
	113726	023727	152260	152262	FSIN4R:	CMP FSRPTR,#FSRBUF
	113734	001773				BEQ FSXITA
	113736	005337	152260			DEC FSRPTR
	113742	000770				BR FSXITA
					
	113744	042777	000100	764056	FSIN4D:	BIC #DLRIE,@$FSTKS	;CLEAR RECEIVER INTERRUPT ENB
	113752	013700	152260			MOV FSRPTR,R0
	113756	162700	152262			SUB #FSRBUF,R0
	113762	020027	000004			CMP R0,#PWLEN
	113766	001021				BNE FSIN4W		;TYPED WRONG AMOUNT
	113770	012700	152262			MOV #FSRBUF,R0
	113774	012701	114472			MOV #PWORD,R1
	114000	122021			FSIN4E:	CMPB (R0)+,(R1)+
	114002	001013				BNE FSIN4W		;WRONG
	114004	020037	152260			CMP R0,FSRPTR
	114010	103773				BLO FSIN4E		;MORE
	114012	012737	114130	152300		MOV #FSINT5,FSSTATE
	114020	005037	152254			CLR FSCLKA		;FLUSH THE AUTO DESTRUCT CLOCK REQUEST
	114024	005237	152256			INC FSFLG		;WIN
	114030	000735				BR FSXITA
					
	114032	012701	114460		FSIN4W:	MOV #FSLOSM,R1
	114036	004737	114210			JSR PC,FSTYP
	114042	004737	114050		HANGUP:	JSR PC,HANGU1
	114046	000726				BR FSXITA
					
	114050	012777	000004	763752	HANGU1:	MOV #DLRTS,@$FSTKS	;HANG UP DATASET (KEEP REQUEST TO SEND AS FLAG)
	114056	005077	763752			CLR @$FSTPS		;FLUSH TYPEOUT
	114062	005037	152300			CLR FSSTATE
	114066	005037	152256			CLR FSFLG
						PUSH R0
						PUSH R1
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 168
	CONS11 PAL[KL,SYS]	Page 61.2 	FIELD SERVICE TELETYPE INTERRUPT HANDLER

	114076	012700	000002			MOV #2,R0
	114102	012701	114120			MOV #FSHNG1,R1
	114106	004737	114264			JSR PC,FSCLKR		;PLANT FS CLOCK REQUEST FOR 2 SECONDS FROM NOW
						POP R1
						POP R0
	114116	000207				RTS PC
					
	114120	012777	000046	763702	FSHNG1:	MOV #DLDTR!DLRTS!DLDIE,@$FSTKS	;REENABLE DATASET
	114126	000207				RTS PC
					
	114130	032700	020000		FSINT5:	BIT #DLCTS,R0
	114134	001406				BEQ FSIN5A
	114136	032700	010000			BIT #DLCD,R0
	114142	001403				BEQ FSIN5A
	114144	005037	152254			CLR FSCLKA		;FLUSH DESTRUCT SEQUENCE
	114150	000665				BR FSXITA
					
	114152	012700	000005		FSIN5A:	MOV #5.,R0		;START 5 SECOND TIMEOUT IF NO CLEAR TO SEND ...
	114156	012701	114050			MOV #HANGU1,R1		; ... OR NO CARRIER DETECT
	114162	004737	114264			JSR PC,FSCLKR		;PLANT AUTO DESTRUCT CLOCK REQUEST
	114166	000656				BR FSXITA
					
					FSTINT:	PUSH R0
						PUSH R1
	114174	105777	763634			TSTB @$FSTPS		;TEST TRANSMITTER READY
	114200	001651				BEQ FSXITA		;SPURIOUS INT
	114202	013701	152276			MOV FSTPTR,R1
	114206	000407				BR FSTYP1
					
	114210	005077	763620		FSTYP:	CLR @$FSTPS		;CLEAR TRANSMITTER STATUS
	114214	052777	000100	763612		BIS #DLTIE,@$FSTPS	;SET TRANSMIT INTERRUPT ENABLE
						POP FSTYPR		;SAVE RETURN ADDRESS
	114226	112100			FSTYP1:	MOVB (R1)+,R0		;GET NEXT CHARACTER
	114230	001411				BEQ FSTYP2		;END OF STRING
	114232	010077	763600			MOV R0,@$FSTPB		;SEND CHARACTER
	114236	010137	152276			MOV R1,FSTPTR		;SAVE POINTER TO TEXT
	114242	032777	020000	763560		BIT #DLCTS,@$FSTKS
	114250	001674				BEQ HANGUP
	114252	000624				BR FSXITA
					
	114254	005077	763554		FSTYP2:	CLR @$FSTPS		;CLEAR XMTR STATUS AGAIN
	114260	000177	036010			JMP @FSTYPR		;RETURN TO CALLER
					
					;CALL WITH # SECONDS IN R0, ADDRESS IN R1
					FSCLKR:	PUSH R2
						PUSH R3
						PUSH R1
	114272	010002				MOV R0,R2		;CONVERT R0 TO 60THS
	114274	005001				CLR R1
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 169
	CONS11 PAL[KL,SYS]	Page 61.3 	FIELD SERVICE TELETYPE INTERRUPT HANDLER

		000006			.REPT 6
						ASL R1
						ASL R0
						ADC R1
					.ENDR				;R1:R0 = 64 * ORIGINAL R0
	114276	006301				ASL R1
	114300	006300				ASL R0
	114302	005501				ADC R1
	114304	006301				ASL R1
	114306	006300				ASL R0
	114310	005501				ADC R1
	114312	006301				ASL R1
	114314	006300				ASL R0
	114316	005501				ADC R1
	114320	006301				ASL R1
	114322	006300				ASL R0
	114324	005501				ADC R1
	114326	006301				ASL R1
	114330	006300				ASL R0
	114332	005501				ADC R1
	114334	006301				ASL R1
	114336	006300				ASL R0
	114340	005501				ADC R1
	114342	005003				CLR R3
		000002			.REPT 2
						ASL R3
						ASL R2
						ADC R3
					.ENDR				;R3:R2 = 4 * ORIGINAL R0
	114344	006303				ASL R3
	114346	006302				ASL R2
	114350	005503				ADC R3
	114352	006303				ASL R3
	114354	006302				ASL R2
	114356	005503				ADC R3
	114360	160200				SUB R2,R0
	114362	005601				SBC R1
	114364	160301				SUB R3,R1		;R1:R0 GETS 60 * ORIGINAL R0
	114366	005002				CLR R2
	114370	063700	157172			ADD TIM11,R0
	114374	005501				ADC R1
	114376	063701	157174			ADD TIM11+2,R1
	114402	005502				ADC R2
	114404	063702	157176			ADD TIM11+4,R2		;R2:R1:R0 HAVE NEW TIME
	114410	012703	152246			MOV #FSRTIM,R3		;STORE IN CLOCK REQUEST TIME WORDS
	114414	010023				MOV R0,(R3)+
	114416	010123				MOV R1,(R3)+
	114420	010213				MOV R2,(R3)
						POP FSCLKA
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 170
	CONS11 PAL[KL,SYS]	Page 61.4 	FIELD SERVICE TELETYPE INTERRUPT HANDLER

						POP R3
						POP R2
	114432	000207				RTS PC
					
					
	114434	   015		
	114435	   012			FSMSG:	.ASCIZ /
	114436	   127		
	114437	   101		
	114440	   111		
	114441	   124		
	114442	   123		
	114443	   040		
	114444	   160		
	114445	   141		
	114446	   163		
	114447	   163		
	114450	   167		
	114451	   157		
	114452	   162		
	114453	   144		
	114454	   040		
	114455	   075		
	114456	   040		
	114457	   000		
					WAITS password = /
					
	114460	   015		
	114461	   012			FSLOSM:	.ASCIZ /
	114462	   127		
	114463	   162		
	114464	   157		
	114465	   156		
	114466	   147		
	114467	   015		
	114470	   012			Wrong
	114471	   000		
					/
					PWORD:	;XLISTED OF COURSE
		000004			PWLEN==.-PWORD
		114476				.EVEN
					
					;HU command to KLDCP
	114476	104022			$HU:	TTITRM
						PMSG <\BYE\>
	114500	104025				  $PMSG
	114502	146073				  $$CLIT
	114504	004737	114050			JSR PC,HANGU1
	114510	005037	147776			CLR $TTYFL		;CLEAR PADDING AMOUNT
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 171
	CONS11 PAL[KL,SYS]	Page 61.5 	FIELD SERVICE TELETYPE INTERRUPT HANDLER

	114514	000137	100014			JMP $CONSL
					
					.ENDC ;IF DF TELASB
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 172
	KLDCP PAL[KL,SYS]	Page 5.3 	FIELD SERVICE TELETYPE INTERRUPT HANDLER

					
								;breakpoints
					.LIF DF BPTASB	
					  .INSRT  BPNT11.PAL
					
								;subroutines, EMT dispatch, Initialization
					.INSRT	SUB11.PAL
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 173
	SUB11 PAL[KL,SYS]	Page 1 	FIELD SERVICE TELETYPE INTERRUPT HANDLER

				COMMENT ⊗   VALID 00047 PAGES
				C REC  PAGE   DESCRIPTION
				C00001 00001
				C00005 00002	.SBTTL	BASIC INITIALIZATION ROUTINE, 19-AUG-75
				C00012 00003	.SBTTL	SET EOP INTERVAL TALLY, ERROR EOP
				C00015 00004	.SBTTL	ERROR HALT
				C00018 00005	.SBTTL	PRINT ASCIZ MESSAGE (PNTAL)
				C00020 00006	.SBTTL	PRINT BUFFER LOAD ROUTINE
				C00022 00007	.SBTTL	TELETYPE PRINT OUTPUT ROUTINE
				C00024 00008	.SBTTL	TELETYPE DRIVER
				C00028 00009	.SBTTL	LINE PRINTER DRIVER
				C00032 00010	OPERATOR INTERRUPT TYPEIN CHECKS
				C00034 00011	.SBTTL	PRINT CRLF
				C00036 00012	.SBTTL	PRINT LOWER 18 BITS OF 36 BIT NUMBER
				C00038 00013	$PRT36:	MOV	4(R1),R0	GET THE WORD
				C00040 00014	.SBTTL	PRINT OCTAL
				C00042 00015	.SBTTL	CONVERT BINARY TO DECIMAL AND TYPE ROUTINE
				C00045 00016	.SBTTL	TTY INPUT ROUTINE TTICHR
				C00047 00017	.SBTTL	TTIYES YES OR NO ROUTINE
				C00048 00018	.SBTTL	READ SWITCH REGISTER
				C00050 00019	.SBTTL	INPUT A STRING FROM TTY
				C00052 00020	82$:	CMPB	(R1),#141
				C00054 00021	SPECIAL CHAR PROCESS
				C00056 00022	SPECIAL CHARACTERS
				C00057 00023	.SBTTL	CTY & FSTTY DL11 DRIVERS
				C00060 00024	.SBTTL	READ AN OCTAL NUMBER FROM THE TTY
				C00062 00025	.SBTTL	READ A DECIMAL NUMBER FROM THE TTY
				C00064 00026	.SBTTL	READ A 12 DIGIT OCTAL (36 BIT) NUMBER
				C00066 00027	3$:	MOV	R5,$INPTC	RESET INPUT POINTER
				C00068 00028	8$:	TSTB	$0FLG
				C00070 00029	.SBTTL	SIGNED MULTIPLY SUBROUTINE
				C00072 00030	.SBTTL	BREAK CHARACTER
				C00074 00031	.SBTTL	TELETYPE INPUT TERMINATION CHECK
				C00076 00032	.SBTTL	INPUT & CHECK OCTAL NUMBER
				C00077 00033	.SBTTL	SHIFT R0 RIGHT/LEFT ROUTINES
				C00079 00034	.SBTTL	SMALL TIME DELAY
				C00080 00035	FATAL VECTOR INTERRUPT
				C00081 00036	.SBTTL	EMT DECODER
				C00083 00037		$PNTNBR		EMT + 30
				C00085 00038		$DPSVT		EMT + 110
				C00087 00039		$RPLKUP		EMT + 170
				C00089 00040	.SBTTL	POWER DOWN AND UP ROUTINES
				C00092 00041	.SBTTL	EXIT SUBROUTINE
				C00093 00042	.SBTTL	PDP10 OPERATIONS
				C00100 00043	$D10ADR:MOV	#L10ADR,R4
				C00103 00044	START MICROCODE
				C00104 00045	PDP-10 INSTRUCTION EXECUTE
				C00105 00046	PDP-10 CONTROLLED STOP ROUTINE
				C00107 00047		.SBTTL	CLOCK INITIALIZATION, INTERRUPTS
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 174
	SUB11 PAL[KL,SYS]	Page 1.1 	FIELD SERVICE TELETYPE INTERRUPT HANDLER

				C00110 ENDMK
					C⊗;
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 175
	SUB11 PAL[KL,SYS]	Page 2 	BASIC INITIALIZATION ROUTINE, 19-AUG-75

					.SBTTL	BASIC INITIALIZATION ROUTINE, 19-AUG-75
					
					;*THIS SUBROUTINE PERFORMS THE MOST ELEMENTARY SET UP FOR THE CPU
					;*THIS ROUTINE MUST BE EXECUTED BY ALL OF THE POSSIBLE START
					;*OPTIONS PRIOR TO ANY OTHER SUBROUTINE
					
	114520	012706	157776		$$ILOAD:MOV	#STACK,SP			;START HERE FIRST TIME
	114524	012701	002425			MOV	#<<.DELAY-$ILDCLR>/2>,R1
	114530	012700	152246			MOV	#$ILDCLR,R0
	114534	005020			1$:	CLR	(R0)+		;CLEAR SPECIAL CONTROL WORDS
	114536	005301				DEC	R1
	114540	003375				BGT	1$
	114542	012737	000017	157252		MOV	#17,CLKDFL+4	;INITIAL DEFAULT, ALL 4 CACHES
	114550	012737	000036	157262		MOV	#36,PEBITS	;INITIAL DEFAULT, AR/ARX, FM, CRAM, DRAM
									;AND NOT FS PROBE, PARITY STOP ENABLES
	114556	004737	115172			JSR	PC,$CKSUM	;CHECKSUM "KLDCP"
	114562	010037	157314			MOV	R0,$ILDSUM	;SAVE
					
	114566	012737	000140	177776	$SBRINT:MOV	#CPUPR,PS	;SET CPU PRIORITY	;NORMAL START (100000)
	114574	012706	157776			MOV	#STACK,SP	;SET THE STACK POINTER
					
					.IF DF %%DDT
					;	MOV	#CPUPR,%DDTS	;CPU PRIORITY FOR DDT
	114600	013746	000014			MOV	@#14,-(SP)	;PUSH 14 AND 16
	114604	013746	000016			MOV	@#16,-(SP)	;TO ALLOW DDT BREAKPOINT TRAPS
					.ENDC
					
					.IF DF %%QMP
	114610	013701	000776			MOV	776,R1		;Save location 776
					.ENDC
					
	114614	005000				CLR	R0		;SET ENTIRE VECTOR AREA TO:
	114616	012720	122700		1$:	MOV	#$FATLE,(R0)+	;	;ADDRESS OF ERROR HANDLER
	114622	012720	000340			MOV	#PR7,(R0)+	;	;PR7
	114626	020027	001000			CMP	R0,#1000
	114632	002771				BLT	1$
					
					.IF DF %%QMP
	114634	020127				CMP	R1,(PC)+	;did 776 contain JMP (R0)?
	114636	000110				JMP	(R0)		;if so, we were started by WAITS
	114640	001003				BNE	99$		;and must go into monitor mode.
	114642	052737	100000	000776		BIS	#100000,776	;set sign bit in 776.
					99$:
					.ENDC
					
	114650	012737	122710	000004		MOV	#$TIMOT,@#ERRVEC ;TIME OUT BUS ERROR VECTOR
	114656	012737	122720	000010		MOV	#$RESVD,@#RESVEC ;RESERVED INSTRUCTION VECTOR
	114664	012737	123614	000024		MOV	#$PWRDN,@#PWRVEC ;POWER FAIL VECTOR
					
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 176
	SUB11 PAL[KL,SYS]	Page 2.1 	BASIC INITIALIZATION ROUTINE, 19-AUG-75

					.LIF DF BPTASB
						MOV	#$BRKPT,@#IOTVEC ;IOT VECTOR
					
	114672	012737	123022	000030		MOV	#$EMTRP,@#EMTVEC ;EMT VECTOR
					
					.IF DF %%DDT
	114700	012637	000016			MOV	(SP)+,@#16	;FOR DDT, POP BREAKPOINT TRAP
	114704	012637	000014			MOV	(SP)+,@#14
					.IFF
						MOV	#.BCCT,@#BPTVEC	;SET BP VECTOR
					.ENDC
					
					.IF DF SAILVR
	114710	004737	125744			JSR	PC,CLKSTA		;CLOCK START (AFTER CLOBBERING INTERRUPTS)
	114714	012737	000140	000032		MOV	#CPUPR,@#EMTVEC+2	;SO EMTS DON'T AFFECT PROCESSOR PRIORITY
					.ENDC
					
					.IF DF TELASB
	114722	012777	000004	763100		MOV #DLRTS,@$FSTKS		;INITIALIZE
	114730	012777	113456	763102		MOV #FSRINT,@$FSTRV		;SETUP FS KL11E RECEIVE TRAP VECTOR
	114736	012777	114170	763076		MOV #FSTINT,@$FSTTV		;SETUP FS KL11E TRANSMIT TRAP VECTOR
	114744	012700	116100			MOV #40000.,R0			;40000*2.36USEC = 94.4 MS
	114750	077001				SOB R0,.			;WAIT FOR DATA SET TO HANG UP
	114752	052777	000046	763050		BIS #DLRTS!DLDTR!DLDIE,@$FSTKS	;SET DATA TERM READY AND DATA SET INT ENB
							;LEAVE REQUEST TO SEND UP ALTHOUGH WE DON'T USE IT
					.ENDC ;IF DF TELASB
					
					.IF DF CLKASB
	114760	012777	111760	763066		MOV #TCUINT,@$CLKTV		;SET UP TCU-100 TRAP VECTOR
					.ENDC ;IF DF CLKASB
					
	114766	012700	147442		11$:	MOV	#BUFCLR,R0	;CLEAR BUFFER STORAGE BETWEEN:
	114772	005020			21$:	CLR	(R0)+		;BUFCLR: AND .DELAY !
	114774	020027	152246			CMP	R0,#$ILDCLR
	115000	001374				BNE	21$
	115002	010637	147756			MOV	SP,$KONSP
					
	115006	005037	077776			CLR	CONSOL-2
					
	115012	104217				TTPINI			;RESET TTY POINTERS
					
	115014	012737	000204	150020		MOV	#132.,$PGWID	;SET PAGE WIDTH PARAMETER (LA36!)
	115022	012737	000000	147776		MOV	#0,$TTYFL	;SET FILL PARAMETER TO (LA36!)
	115030	104043				PFORCE			;MUST TYPE STARTUP
	115032	012737	115152	000004		MOV	#NOPAR,ERRVEC	;SET BUS TIMEOUT IN CASE NO PARITY
	115040	012737	124076	000114		MOV	#MEMPE,MMLPIV	;SETUP PARITY VECTOR
	115046	012737	000001	172100		MOV	#MMPIE,MMLPBA	;ENABLE PARITY ERRORS
	115054	012737	122710	000004		MOV	#$TIMOT,ERRVEC	;RESTORE BUS TIMEOUT
					
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 177
	SUB11 PAL[KL,SYS]	Page 2.2 	BASIC INITIALIZATION ROUTINE, 19-AUG-75

	115062	005737	157316			TST	$ONETM
	115066	001010				BNE	3$
					
					.LIF DF BPTASB
						JSR	PC,.CB		;CLEAR BP'S
					
					.IF DF SAILVR
						PMSG	<\Stanford KLDCP - QMP/EN\>
	115070	104025				  $PMSG
	115072	146101				  $$CLIT
	115074	012700	157240			MOV	#SWS10,R0	;setup initial switches to 3,,600000
	115100	005020				CLR	(R0)+		;bits 20:35
	115102	052720	000017			BIS	#17,(R0)+	;bits 04:19
	115106	005010				CLR	(R0)		;bits 0:3
					.IFF
						PMSG	<\DECSYSTEM10 DIAGNOSTIC CONSOLE\VERSION >
						MOV	#MCNVER,R0
						PNTOCS
						PNTCI
						'.
						MOV	#DECVER,R0
						PNTOCS
					;.IF DF SAILVR
					;	PMSG	<, Stanford version >
					;	MOV	#SAILVR,R0
					;	PNTOCS
					;.ENDC
						PMSG	<\11 SWR = >
						MOV	SWR,R0
						PNTOCT			;PRINT CONSOLE SWITCHES
						PCRLF
					.ENDC
					
	115110	004737	140730		3$:	JSR	PC,DTEINI	;DTE20 INITIALIZATION
					
					.IF NDF SAILVR
						TST	DEVTYP		;USING RP04 ?
						BLE	4$		;NO
						RPLOAD			;YES, INIT & LOAD PACK
						 BCC	4$
						RPERROR			;FAILED
					.ENDC
					
					4$:
					.IF DF %%QMP
	115114	005737	000776			TST	776		;were we loaded and started by the 10?
	115120	002010				BGE	44$		;branch if not
	115122	104055				SETFLG
	115124	147706				  MONMODE
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 178
	SUB11 PAL[KL,SYS]	Page 2.3 	BASIC INITIALIZATION ROUTINE, 19-AUG-75

	115126	104055				SETFLG
	115130	147710				  TENRUN
	115132	104055				SETFLG
	115134	147634				  PRGRUN
	115136	104055				SETFLG
	115140	147704				  MTTYOF
					.ENDC
						
					44$:
					.LIF DF %%QMP
	115142	004737	137674			JSR	PC,QMPINI	;initialize QMP
					
	115146	000137	100106			JMP	CONSL		;NOW TO CONSOLE
					
	115152	000002			NOPAR:	RTI			;NO PARITY REGISTER
					
	115154	012700	152212		$CMCLR:	MOV	#$CMTAG,R0	;CLEAR COMMON STORAGE
	115160	005020			1$:	CLR	(R0)+
	115162	020027	152242			CMP	R0,#MONCTL
	115166	002774				BLT	1$
	115170	000207				RTS	PC
					
	115172	005037	101140		$CKSUM:	CLR	$KDCEN		;CLEAR ONLY CHANGEABLE LOCATION
	115176	012701	100000			MOV	#START,R1
	115202	005000				CLR	R0
	115204	062100			2$:	ADD	(R1)+,R0	;CHECKSUM "KLDCP"
	115206	020137	145026			CMP	R1,$$FF
	115212	101774				BLOS	2$
	115214	000207				RTS	PC
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 179
	SUB11 PAL[KL,SYS]	Page 3 	SET EOP INTERVAL TALLY, ERROR EOP

					.SBTTL	SET EOP INTERVAL TALLY, ERROR EOP
					.IF NDF %%EOP
					
					$EOPSET:
					$EOP:
	115216	104000			$ERREOP:FATAL
					.ENDC
					
					.IF DF %%EOP
					$EOPSET:MOV	R0,$ENDCT	;SET EOP INTERVAL TALLY
						EXIT
					
					;CONSOLE SET EOP INTERVAL
					
					.EP:	TTISDL
						 BCS	1$
						TTIDEC			;SPECIFIED AS DECIMAL INTERVAL
						 BCS	1$
						MOV	R0,$ENDCT
						CLR	$EOPCT
						JMP	$KONSL
					1$:	JMP	$PARAM
					
					.SBTTL	END OF PASS ROUTINE
					
					$EOP:	MOV	#$PASS,R5
						INC	(R5)		;INCREMENT THE PASS NUMBER
						CMP	(R5),#30001.	;LIMIT MAX COUNT TO 30000
						BLT	4$
						CLR	(R5)
						INC	(R5)
						MOV	$ENDCT,$EOPCT	;RESET REPORT INTERVAL
					
					4$:	MOV	(R5),SWR	;DISPLAY PASS COUNT
						SWITCH			;READ THE SWITCH REGISTER
					
						BIT	R0,#ABORT	;ABORT AFTER CURRENT PASS?
						BNE	1$		;YES
					
						DEC	$EOPCT		;DECREMENT EOP
						BGT	3$
						BR	2$
					
					1$:	MOV	#1,$ITERA	;SET ITERATION SO WE WILL EXIT
					2$:	PMSG	<END PASS >
					
						MOV	(R5),R0		;PASS COUNT TO  R0
						PNTDEC
						PCRLF
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 180
	SUB11 PAL[KL,SYS]	Page 3.1 	SET EOP INTERVAL TALLY, ERROR EOP

					
						MOV	$ENDCT,$EOPCT	;RESTORE COUNTER
					
					3$:	DEC	$ITERA		;DECREMENT ITERATION COUNT
						BEQ	$ERREOP
						CLR	$ITERA
						EXIT
					
					$ERREOP:TST	MONCTL		;STAND ALONE ?
						BNE	$EROP		;NO, *WHAT TO DO ??*
						CLR	TENRUN		;TURN OFF TEN SUPPORT
						CLR	PRGRUN		;YES, ALLOW "J" AGAIN
					
					$EROP:	JMP	CONSL		;MONITOR, TO NEXT SCRIPT ENTRY
					
					.ENDC
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 181
	SUB11 PAL[KL,SYS]	Page 4 	ERROR HALT

					.SBTTL	ERROR HALT
					
					$PRGHLT:PUSH	R0
						PMSG	<\PRG>
	115222	104025				  $PMSG
	115224	146133				  $$CLIT
	115226	000412				BR	$PH2
					
					$ERRHLT:PUSH	R0
	115232	104057				SWITCH
	115234	030027	000400			BIT	R0,#ERSTOP	;STOP ON ERROR ?
	115240	001003				BNE	1$		;YES
						POP	R0
						EXIT			;NO, KEEP GOING
	115244	000137	124062			  JMP	$EXIT
					
					1$:	PMSG	<\ERROR>
	115250	104025				  $PMSG
	115252	146140				  $$CLIT
					
	115254	104055			$PH2:	SETFLG
	115256	147630				  .HCFLG		;ALLOW HALT CONTINUE
					
	115260	012637	147656		$PH1:	MOV	(SP)+,$R0SAV	;SETUP SO "RG" CAN PRINT
	115264	012700	147672			MOV	#$R5SAV+2,R0
	115270	012640				MOV	(SP)+,-(R0)	;R5 to $R5SAV
	115272	012640				MOV	(SP)+,-(R0)	;R4 to $R4SAV
	115274	012640				MOV	(SP)+,-(R0)	;R3 to $R3SAV
	115276	012640				MOV	(SP)+,-(R0)	;R2 to $R2SAV
	115300	012640				MOV	(SP)+,-(R0)	;R1 to $R1SAV
	115302	012637	147626			MOV	(SP)+,.HCADR	;halt/continue address (if needed)
	115306	012637	147674			MOV	(SP)+,$PSSAV	;halt/continue PS.
	115312	010637	147672			MOV	SP,$SPSAV	;save dead SP
						PMSG	< HALT AT >
	115316	104025				  $PMSG
	115320	146147				  $$CLIT
	115322	013700	147626			MOV	.HCADR,R0	;GET ADDRESS
	115326	162700	000002			SUB	#2,R0		;COMPUTE ACTUAL ADDRESS
	115332	104035				PNTOCT			;PRINT ERROR HALT ADDRESS
	115334	104031				PCRLF
	115336	104043				PFORCE
	115340	005002				CLR	R2		;REGISTER NUMBER
	115342	012701	147656			MOV	#$R0SAV,R1	;REG SAVE TABLE POINTER
	115346	104214			1$:	PNTCI
	115350	000122				'R
	115352	010200				MOV	R2,R0		;register number
	115354	104030				PNTNBR			;PRINT REGISTER NUMBER
	115356	104033			4$:	PSLASH
	115360	012100			2$:	MOV	(R1)+,R0
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 182
	SUB11 PAL[KL,SYS]	Page 4.1 	ERROR HALT

	115362	104035				PNTOCT			;PRINT CONTENTS
	115364	104031				PCRLF
	115366	005202				INC	R2
	115370	020227	000006			CMP	R2,#6
	115374	002764				BLT	1$		;loop for zero to 5
	115376	003003				BGT	3$		;exit for 7
	115400	104214				PNTCI
	115402	050123				"SP
	115404	000764				BR	4$		;print R6 as SP
					
	115406	005002			3$:	CLR	R2		;Count of stack frames
	115410	013701	147672			MOV	$SPSAV,R1	;Stack top address
	115414	010100			91$:	MOV	R1,R0
	115416	104035				PNTOCT
	115420	104033				PSLASH
	115422	012100				MOV	(R1)+,R0
	115424	104035				PNTOCT			;PRINT CONTENTS
	115426	104031				PCRLF
	115430	020127	160000			CMP	R1,#COREND
	115434	002004				BGE	92$
	115436	005202				INC	R2
	115440	020227	000006			CMP	R2,#6
	115444	002763				BLT	91$		;loop to display several stack items
	115446	005737	147630		92$:	TST	.HCFLG		;is this a continuable halt?
	115452	001402				BEQ	93$		;BR if not
	115454	000137	100014			JMP	$CONSL		;RETURN TO MONITOR
					
					93$:
					.LIF DF %%DDT
	115460	000137	056000			JMP	56000
					
					.LIF NDF %%DDT
						JMP	$SBRINT		;major crash.  nearly major reload
					
	115464	005737	147630		.HC:	TST	.HCFLG
	115470	001002				BNE	1$
	115472	000137	100574			JMP	$CMDER		;HC NOT ALLOWED
	115476	005037	147630		1$:	CLR	.HCFLG
					
					.LIF DF BPTASB
						JSR	PC,.BCHC
					
	115502	013706	147672			MOV	$SPSAV,R6
	115506	013737	147674	177776		MOV	$PSSAV,PS
	115514	000177	032106			JMP	@.HCADR
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 183
	SUB11 PAL[KL,SYS]	Page 5 	PRINT ASCIZ MESSAGE (PNTAL)

					.SBTTL	PRINT ASCIZ MESSAGE (PNTAL)
					
	115520	142710	000200		$PNTAL:	BICB	#200,(R0)	;CLEAR JUNK
	115524	105710				TSTB	(R0)		;REACHED EOL YET?
	115526	001430				BEQ	3$		;YES
	115530	005737	150742			TST	HLPPNT		;PRINTING A HELP FILE
	115534	001006				BNE	4$		;YES
	115536	121027	000137			CMPB	(R0),#BKARW	;BACKARROW (-)?
	115542	001416				BEQ	2$		;YES
	115544	121027	000134			CMPB	(R0),#BKSLH	;BACKSLASH (\)?
	115550	001403				BEQ	1$
	115552	112001			4$:	MOVB	(R0)+,R1	;PUT CHAR IN R1
	115554	104154				PLDBUF			;LOAD INTO OUTPUT BUFFER
	115556	000760				BR	$PNTAL		;DO TILL E-O-L
					
	115560	012701	000015		1$:	MOV	#CR,R1		;BACKSLASH
	115564	104154				PLDBUF			;OUTPUT CR & LF
	115566	012701	000012			MOV	#LF,R1
	115572	104154				PLDBUF
	115574	005200			11$:	INC	R0
	115576	000750				BR	$PNTAL
					
	115600	005037	150010		2$:	CLR	CTRLOF		;CLEAR CONTROL O FLAG
	115604	104151				PRINTT			;BACKARROW, PRINT BUFFER
	115606	000772				BR	11$
					
	115610	000406			3$:	BR	$$PNTX
					
					.SBTTL	PRINT ASCII NUMBER (PNTNBR)
					
	115612	042700	177770		$PNTNBR:BIC	#177770,R0
	115616	052700	000060			BIS	#'0,R0
					
					.SBTTL	PRINT ASCII CHARACTER (PNTCHR)
					
	115622	110001			$PNTCHR:MOVB	R0,R1
	115624	104154				PLDBUF
					$$PNTX:	EXIT
	115626	000137	124062			  JMP	$EXIT
					
	115632	012700	000040		$PSPACE: MOV	#SPACE,R0
	115636	000771				BR	$PNTCHR
					
	115640	012700	000057		$PSLASH: MOV	#SLASH,R0
	115644	000766				BR	$PNTCHR
					
	115646	012700	000054		$PCOMMA: MOV	#COMMA,R0
	115652	000763				BR	$PNTCHR
					
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 184
	SUB11 PAL[KL,SYS]	Page 5.1 	PRINT ASCII CHARACTER (PNTCHR)

	115654	012700	000011		$PTAB:	MOV	#TAB,R0
	115660	000760				BR	$PNTCHR
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 185
	SUB11 PAL[KL,SYS]	Page 6 	PRINT BUFFER LOAD ROUTINE

					.SBTTL	PRINT BUFFER LOAD ROUTINE
					
					$PLDBUF:PUSH	R0
	115664	013700	150514			MOV	$OUTPT,R0
	115670	042701	177600			BIC	#177600,R1	;STRIP TO 7 BITS
	115674	110120				MOVB	R1,(R0)+	;PUT CHAR IN BUFFER
	115676	105010				CLRB	(R0)		;INSERT TRAILING NULL
	115700	010037	150514			MOV	R0,$OUTPT
						POP	R0
	115706	023727	150514	150510		CMP	$OUTPT,#$OUTBF+140.;EXCEEDED BUFFER CAPACITY
	115714	002012				BGE	2$
					
	115716	122701	000012		1$:	CMPB	#LF,R1		;WAS CHAR LINE FEED
	115722	001407				BEQ	2$		;YES
	115724	122701	000007			CMPB	#BELL,R1	;WAS CHAR BELL ?
	115730	001404				BEQ	2$		;YES
	115732	122701	000000			CMPB	#NULL,R1	;WAS CHAR NULL ?
	115736	001401				BEQ	2$		;YES
	115740	000732			3$:	BR	$$PNTX		;NO, RETURN
					
	115742	005737	152232		2$:	TST	PCMDNF		;DOING NO PRINT PROGRAM COMMAND
	115746	001374				BNE	3$
					
					.LIF DF LPTASB
						PLPT			;LINE PRINTER
					
	115750	104151				PRINTT			;PRINT BUFFER
	115752	005037	150004			CLR	$TTLKF		;CLEAR TTLOOK  FLAG
						PUSH	R0
	115760	104215				PNTRST			;RESET OUTPUT POINTERS
						POP	R0
	115764	000765				BR	3$
					
					;PRINT, BACKUP OUTPUT INSERTION POINTER
					
	115766	023727	150514	150274	$PNTBAK:CMP	$OUTPT,#$OUTBF	;ALL THE WAY BACK ?
	115774	003402				BLE	1$		;YES
	115776	005337	150514			DEC	$OUTPT		;NO, BACKUP ONE BYTE
	116002	000711			1$:	BR	$$PNTX
					
					;TELETYPE POINTER INITIALIZATION
					
	116004	012737	150520	150736	$TTPINI:MOV	#$INBUF,$INPTC
	116012	012737	150520	150740		MOV	#$INBUF,$INPTR
					
	116020	012700	150274		$PNTRST:MOV	#$OUTBF,R0
	116024	010037	150514			MOV	R0,$OUTPT
	116030	010037	150512			MOV	R0,$OUTPP
	116034	000674				BR	$$PNTX
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 186
	SUB11 PAL[KL,SYS]	Page 7 	TELETYPE PRINT OUTPUT ROUTINE

					.SBTTL	TELETYPE PRINT OUTPUT ROUTINE
					
					$PRINT:	PUSH	R0
	116040	005737	150000			TST	$FORCE		;FORCED PRINT OUT
	116044	001014				BNE	19$		;YES BYPASS SWITCH TEST
					
	116046	105737	157304			TSTB	LPTFLG		;PRINT ON LPT ?
	116052	001004				BNE	99$		;BR IF YES
					
	116054	104057				SWITCH
	116056	030027	010000			BIT	R0,#NOPNT	;PRINTOUT INHIBITED
	116062	001407				BEQ	1$
					
	116064	013737	150514	150512	99$:	MOV	$OUTPT,$OUTPP	;DONE, SET PRINTED TO POSITION
						POP	R0
	116074	000654				BR	$$PNTX		;RETURN
					
	116076	005037	150010		19$:	CLR	CTRLOF		;CLEAR CONTROL O FLAG
	116102	013701	150512		1$:	MOV	$OUTPP,R1
					
	116106	122711	000015		11$:	CMPB	#CR,(R1)	;IS CHAR CR?
	116112	001412				BEQ	2$		;BR IF YES
	116114	023737	150022	150020		CMP	$PRNTH,$PGWID	;NO,ARE WE AT RIGHT MARGIN
	116122	002410				BLT	3$		;BR IF NO
	116124	112700	000015			MOVB	#CR,R0		;YES, FREE CR/LF
	116130	104152				PTTY
	116132	112700	000012			MOVB	#LF,R0
	116136	104152				PTTY
					
	116140	005237	150014		2$:	INC	$TPLIT		;COUNT LINE
					
	116144	111100			3$:	MOVB	(R1),R0		;GET CHARACTER
	116146	001746				BEQ	99$		;IF NULL, DONE
	116150	104152				PTTY			;PRINT CHAR
	116152	105721				TSTB	(R1)+		;LOOP TILL E-O-L
	116154	001354				BNE	11$
	116156	004737	110742		4$:	JSR	PC,C10COP
	116162	004737	120774			JSR	PC,$TORDY	;THEN WAIT FOR TTY TO BE READY
	116166	103773				BCS	4$
	116170	000735				BR	99$
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 187
	SUB11 PAL[KL,SYS]	Page 8 	TELETYPE DRIVER

					.SBTTL	TELETYPE DRIVER
					
	116172	005002			$PTTY:	CLR	R2
	116174	005003				CLR	R3
	116176	004737	116544		1$:	JSR	PC,$PTTYC	;DO OPERATOR CHECKS
	116202	005703				TST	R3		;R3 = 0 IF NOTHING
	116204	001410				BEQ	4$
	116206	122703	000021		2$:	CMPB	#XON,R3
	116212	001407				BEQ	6$		;XON,PRINT
	116214	122703	000023			CMPB	#XOFF,R3
	116220	001002				BNE	4$
	116222	012702	777777		3$:	MOV	#-1,R2		;XOFF,STOP PRINT
	116226	005702			4$:	TST	R2
	116230	001362				BNE	1$		;IF XOFF, WAIT FOR XON
	116232	005737	150010		6$:	TST	CTRLOF		;CONTROL O'D ?
	116236	001015				BNE	7$		;YES
	116240	122700	000015			CMPB	#CR,R0		;CR
	116244	001012				BNE	7$
	116246	005737	150016			TST	$TPLIN		;YES, IN PAGE MODE
	116252	001407				BEQ	7$		;NO
	116254	023737	150014	150016		CMP	$TPLIT,$TPLIN	;FILLED THIS PAGE
	116262	002403				BLT	7$
	116264	005037	150014			CLR	$TPLIT		;YES,CLEAR COUNTER,XOFF
	116270	000754				BR	3$
					
	116272	005002			7$:	CLR	R2
	116274	122700	000011			CMPB	#CNTRLI,R0	;IS CHAR A TAB?
	116300	001005				BNE	10$
	116302	004737	116514		8$:	JSR	PC,$PTTY1	;COMPUTE SPACES COUNT
	116306	005202			9$:	INC	R2		;COMPLETED "TAB"?
	116310	112700	000040			MOVB	#BLANK,R0
					
	116314	004737	110742		10$:	JSR	PC,C10COP	;PERFORM CLOCK OPERATIONS
	116320	005737	150010			TST	CTRLOF
	116324	001011				BNE	11$
	116326	004737	120774			JSR	PC,$TORDY	;WAIT TILL TTY IS READY
	116332	103770				BCS	10$
	116334	110037	147762			MOVB	R0,$TOCHR	;PRINT CHAR
	116340	004737	121036			JSR	PC,$TOOUT
	116344	004737	116530		19$:	JSR	PC,$PTTY2	;WILL CHAR MOVE PRINT HEAD ?
					
	116350	005702			11$:	TST	R2		;DOING SPACES?
	116352	001355				BNE	9$		;BR IF YES
	116354	005737	150010			TST	CTRLOF
	116360	001053				BNE	15$
	116362	012702	144746			MOV	#$DTBL0,R2	;FILLER PROCESS
	116366	105712			12$:	TSTB	(R2)
	116370	001447				BEQ	15$		;BR IF CHAR DOESN'T REQUIRE FILLS
	116372	122200				CMPB	(R2)+,R0
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 188
	SUB11 PAL[KL,SYS]	Page 8.1 	TELETYPE DRIVER

	116374	001374				BNE	12$
	116376	005302				DEC	R2		;FOUND
	116400	162702	144746			SUB	#$DTBL0,R2
	116404	006302				ASL	R2
	116406	016202	144752			MOV	$DTBL1(R2),R2	;ADDRESS TO R2
	116412	063702	147776			ADD	$TTYFL,R2	;ADD FILL PARAMETER
	116416	111202				MOVB	(R2),R2		;R2 = NUMBER OF FILLS
	116420	120027	000015			CMPB	R0,#CR		;CR?
	116424	001014				BNE	13$		;NO
	116426	023727	150022	000017		CMP	$PRNTH,#15.	;MORE THEN 15 CHARS ON LINE ?
	116434	003001				BGT	16$
						SR	R2,1		;NO, 1/4 TH OF FILLERS THEN
	116440	023727	150022	000050	16$:	CMP	$PRNTH,#40.	;MORE THAN 40 CHARS ON LINE ?
	116446	003001				BGT	17$
						SR	R2,1		;NO, 1/2 OF FILLERS THEN
	116452	005037	150022		17$:	CLR	$PRNTH		;SET PRINT HEAD TO LEFT MARGIN
					
	116456	005302			13$:	DEC	R2		;COMPLETED FILLERS?
	116460	002413				BLT	15$
	116462	004737	110742		14$:	JSR	PC,C10COP	;PERFORM CLOCK OPERATIONS
	116466	004737	120774			JSR	PC,$TORDY
	116472	103773				BCS	14$
	116474	112737	000000	147762		MOVB	#NULL,$TOCHR	;SEND FILLER
	116502	004737	121036			JSR	PC,$TOOUT
	116506	000763				BR	13$
					15$:	EXIT			;RETURN
	116510	000137	124062			  JMP	$EXIT
					
	116514	013702	150022		$PTTY1:	MOV	$PRNTH,R2	;HEAD POSITION
	116520	162702	000010		1$:	SUB	#8.,R2		;DIVIDED BY 8
	116524	002375				BGE	1$		;REMAINDER IS SPACES COUNT
	116526	000207				RTS	PC
					
	116530	120027	000040		$PTTY2:	CMPB	R0,#BLANK	;WILL CHAR MOVE PRINT HEAD?
	116534	002402				BLT	1$		;BR IF NO
	116536	005237	150022			INC	$PRNTH		;YES
	116542	000207			1$:	RTS	PC
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 189
	SUB11 PAL[KL,SYS]	Page 9 	LINE PRINTER DRIVER

					.SBTTL	LINE PRINTER DRIVER
					
					.IF DF LPASB
					
					$PLPT:	PUSH	R0
						TST	LPTFLG		;PRINT ON LPT ?
						BPL	99$		;NO
						TSTB	LPTFLG
						BEQ	99$
						TST	$FORCE		;FORCED PRINT ?
						BNE	1$		;YES, BYPASS SWITCH TEST
						SWITCH
						BIT	R0,#NOPNT	;PRINTOUT INHIBITED ?
						BEQ	1$		;NO
					99$:	POP	R0
						EXIT			;RETURN
					
					1$:	TST	LPTYPE		;LP20 OR LP11 ?
						BNE	50$		;LP20
						TST	@$LPS		;IS LPT OK ?
						BMI	4$		;BR IF ERROR
						MOV	#$OUTBF,R1
					2$:	MOVB	(R1)+,R0	;GET CHAR
						BEQ	99$		;NULL, DONE
					3$:	CLR	R2
						CMPB	#CNTRLI,R0	;TAB ?
						BNE	41$
						JSR	PC,$PTTY1	;YES, COMPUTE SPACES COUNT
					42$:	INC	R2
						MOV	#BLANK,R0
					41$:	JSR	PC,$PTTYC	;DO OPERATOR CHECKS
					32$:	TST	@$LPS		;LPT OK ?
						BMI	4$		;NO
						JSR	PC,C10COP	;PERFORM CLOCK OPERATIONS
						TSTB	@$LPS		;LPT READY ?
						BPL	41$		;NO
						MOVB	R0,@$LPB	;PRINT CHARACTER
						JSR	PC,$PTTY2	;WILL CHAR MOVE PRINT HEAD ?
					45$:	TST	R2		;COMPLETED "TAB" ?
						BNE	42$
					43$:	CMPB	R0,#CR
						BNE	44$
						CLR	$PRNTH		;IF CR, RESET HEAD POSITION
					44$:	BR	2$
					
					4$:	MOV	#$LPTOF,R1	;"LPT OFF LINE"
					5$:	MOVB	(R1),R0
						PTTY
						TSTB	(R1)+
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 190
	SUB11 PAL[KL,SYS]	Page 9.1 	LINE PRINTER DRIVER

						BEQ	6$
						BR	5$
					6$:	CLRB	LPTFLG		;PRINT ON TTY TILL RESELECTED
						BR	99$
					
					50$:	MOV	LPTYPE,R5	;LP20 DRIVER ROUTINE
						MOV	#LPLINI!LPRERR,(R5) ;CLEAR LP20
						DEC	LPPCTR(R5)	;CLEAR PAGE COUNTER
						MOV	#$OUTBF,R0	;GET BUFFER ADDRESS
						MOV	R0,LPBSAD(R5)	;SETUP LP20 BUFFER ADDRESS
						SUB	$OUTPT,R0	;COMPUTE BYTE COUNT
						MOV	R0,LPBCTR(R5)	;SETUP LP20 BYTE COUNT
						MOV	#LPPENB!LPGO,(R5) ;START XFER
						JSR	PC,LP20DN	;WAIT FOR DONE
						BCS	4$		;ERROR
						BR	99$		;DONE
					
					LP20DN:	JSR	PC,C10COP	;PERFORM CLOCK OPERATIONS
						BIT	#LPERR!LPPZRO!LPUCHR!LPDONE,(R5)
						BEQ	LP20DN		;WAIT FOR DONE OR ERROR
					
						TSTB	(R5)		;DONE ?
						BPL	1$		;NO, ERROR
						CLC
						RTS	PC		;DONE, C-BIT CLEAR RETURN
					
					1$:	SEC
						RTS	PC		;ERROR, C-BIT SET RETURN
					
					$LPTOF:	.ASCIZ	/LPT OFF
					/
					.EVEN
					
					.ENDC ;.IF DF LPASB
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 191
	SUB11 PAL[KL,SYS]	Page 10 	LINE PRINTER DRIVER

					;OPERATOR INTERRUPT TYPEIN CHECKS
					
	116544	005003			$PTTYC:	CLR	R3
	116546	005737	150004			TST	$TTLKF		;INPUT CHECKS INHIBITED ?
	116552	001066				BNE	5$		;YES
	116554	004737	120666			JSR	PC,$TIRDY	;ANY OPERATOR ACTION ?
	116560	103463				BCS	5$		;NO
	116562	113703	147764			MOVB	$TICHR,R3
	116566	142703	000200			BICB	#200,R3
	116572	010337	150044			MOV	R3,$TNCHR
	116576	104176				TENCHR			;SEND CHAR TO TEN
	116600	122703	000003			CMPB	#CNTRLC,R3	;CONTROL C ?
	116604	001010				BNE	3$
	116606	104217				TTPINI			;FLUSH REST OF OUTPUT
	116610	005737	152234			TST	PCMDFLG		;DOING PROGRAM COMMAND ?
	116614	001002				BNE	2$		;YES
	116616	000137	120522			JMP	$TICC		;CONTROL C, RETURN TO CONSOLE
					
	116622	000137	101572		2$:	JMP	PCMDE2		;PROGRAM COMMAND, RETURN TO CALLER
					
	116626	122703	000017		3$:	CMPB	#CNTRLO,R3
	116632	001021				BNE	1$
	116634	005137	150010			COM	CTRLOF		;CONTROL O, STOP OUTPUT
	116640	012703	116732			MOV	#$PTCO,R3
	116644	004737	110742		10$:	JSR	PC,C10COP
	116650	004737	120774			JSR	PC,$TORDY
	116654	103773				BCS	10$
	116656	112337	147762			MOVB	(R3)+,$TOCHR
	116662	001002				BNE	90$
	116664	005003				CLR	R3
	116666	000420				BR	5$
	116670	004737	121036		90$:	JSR	PC,$TOOUT
	116674	000763				BR	10$
	116676	122703	000014		1$:	CMPB	#CNTRLL,R3	;CONTROL L, CHANGE LPT SELECTION
	116702	001005				BNE	4$
	116704	005737	157304			TST	LPTFLG
	116710	100002				BPL	4$
	116712	105137	157304			COMB	LPTFLG		;ONLY IF SELECTED
	116716	122703	000030		4$:	CMPB	#CNTRLX,R3	;CONTROL X, CONSOLE COMMAND
	116722	001002				BNE	5$
	116724	000137	120566			JMP	$TICX		;DO "TTILIN" & GO TO "$RPT"
	116730	000207			5$:	RTS	PC
					
	116732	   136		
	116733	   117		
	116734	   015		
	116735	   012			$PTCO:	.ASCIZ	/↑O
	116736	   000		
					/
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 192
	SUB11 PAL[KL,SYS]	Page 10.1 	LINE PRINTER DRIVER

		116740			.EVEN
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 193
	SUB11 PAL[KL,SYS]	Page 11 	PRINT CRLF

					.SBTTL	PRINT CRLF
					
					$PCRLF:	PMSG	<\>
	116740	104025				  $PMSG
	116742	146161				  $$CLIT
	116744	000524				BR	$$PEX
					
					.SBTTL	RING TTY BELL
					
	116746	112700	000007		$PBELL:	MOVB	#BELL,R0
	116752	104152				PTTY			;DING THE BELL DIRECTLY
	116754	000520				BR	$$PEX
					
					.SBTTL	PRINT SPECIFIED OCTAL DIGITS
					
	116756	017701	030672		$PODT:	MOV	@$EMADR,R1	;TRAILING PARAMETER
	116762	062766	000002	000012		ADD	#2,12(SP)
					
	116770	010102			$PNTODC:MOV	R1,R2		;SETUP DIGIT COUNT
	116772	003001				BGT	1$
	116774	104000				FATAL
	116776	020127	000006		1$:	CMP	R1,#6
	117002	003401				BLE	2$
	117004	104000				FATAL
	117006	012701	150026		2$:	MOV	#$TTSAV+2,R1
	117012	005011				CLR	(R1)		;SETUP OCTAL NUMBER
	117014	010041				MOV	R0,-(R1)
	117016	004737	117324			JSR	PC,$PODMV	;SETUP PARAMETERS
	117022	005037	147774			CLR	$0FLG		;NO SPACE FOLLOWING NUMBER
	117026	116203	117035			MOVB	$PODCD-1(R2),R3	;GET PRESET SHIFT COUNT
	117032	104146				PROL36			;PRESET NUMBER
	117034	000453				BR	$P23X		;GO PRINT NUMBER
					
	117036	   041		
	117037	   036		
	117040	   033		
	117041	   030		
	117042	   025		
	117043	   022			$PODCD:	.BYTE	33.,30.,27.,24.,21.,18.
					
					.SBTTL	PRINT PDP-10 ADDRESS
					
					;PRINTS 23 BIT FORMAT IF ANY OF 13-17 ADDRESS BITS ARE SET.
					;OTHERWISE PRINTS 18 BIT FORMAT.
					
	117044	004737	117070		$PADR:	JSR	PC,$$P23
	117050	032761	000174	000004		BIT	#174,4(R1)	;ANY OF 13-17 SET ?
	117056	001025				BNE	$P23Y		;YES
	117060	012703	000006			MOV	#6,R3
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 194
	SUB11 PAL[KL,SYS]	Page 11.1 	PRINT PDP-10 ADDRESS

	117064	104146				PROL36			;NO, DUMP HI-ORDER BITS
	117066	000434				BR	$P18X		;PRINT 18 BITS
					
	117070	004737	117304		$$P23:	JSR	PC,$P36MV
	117074	012703	000014			MOV	#12.,R3
	117100	104146				PROL36			;POSITION 23 BITS
	117102	042761	177600	000004		BIC	#177600,4(R1)	;CLEAR UPPER JUNK BITS
	117110	000207				RTS	PC
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 195
	SUB11 PAL[KL,SYS]	Page 12 	PRINT LOWER 18 BITS OF 36 BIT NUMBER

					.SBTTL	PRINT LOWER 18 BITS OF 36 BIT NUMBER
					
	117112	004737	117304		$PNT18:	JSR	PC,$P36MV
					
	117116	012703	000022			MOV	#18.,R3
	117122	104146				PROL36			;SHIFT LOWER 18 BITS TO UPPER
	117124	000415				BR	$P18X
					
					.SBTTL	PRINT LOWER 23 BITS OF 36 BIT NUMBER
					
	117126	004737	117070		$PNT23:	JSR	PC,$$P23
					
	117132	012702	000002		$P23Y:	MOV	#2,R2
	117136	005204				INC	R4
	117140	000411				BR	$P23X
					
					.SBTTL	PRINT 36 BIT NUMBER IN BINARY
					
	117142	004737	117304		$P36B:	JSR	PC,$P36MV
	117146	005105				COM	R5
	117150	000402				BR	$P36BX
					
					.SBTTL	PRINT 36 BIT NUMBER
					
	117152	004737	117304		$PNT36:	JSR	PC,$P36MV
	117156	005204			$P36BX:	INC	R4
		117160			$P18X=.
					
	117160	012702	000006		2$:	MOV	#6,R2
		117164			$P23X=.
	117164	012703	000003		1$:	MOV	#3,R3
					
	117170	104146				PROL36			;ROTATE 3
	117172	004737	117222			JSR	PC,$PRT36	;PRINT OCTAL
					
	117176	005302				DEC	R2		;FINISHED HALF WORD YET ?
	117200	001371				BNE	1$
					
	117202	005737	147774			TST	$0FLG
	117206	001401				BEQ	3$
	117210	104032				PSPACE
					
	117212	005304			3$:	DEC	R4		;FINISHED FULL WORD YET ?
	117214	100361				BPL	2$
					
					$$PEX:	EXIT
	117216	000137	124062			  JMP	$EXIT
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 196
	SUB11 PAL[KL,SYS]	Page 13 	PRINT 36 BIT NUMBER

	117222	016100	000004		$PRT36:	MOV	4(R1),R0	;GET THE WORD
	117226	000300				SWAB	R0
	117230	005705				TST	R5
	117232	001002				BNE	1$
	117234	104030				PNTNBR			;PRINT OCTAL
	117236	000207				RTS	PC
					
					1$:	PUSH	R4
	117242	010004				MOV	R0,R4
	117244	012703	177776			MOV	#177776,R3
						SR	R0,2
	117254	040300				BIC	R3,R0
	117256	104030				PNTNBR			;PRINT HI-BIT OF OCTAL
	117260	010400				MOV	R4,R0
						SR	R0,1
	117264	040300				BIC	R3,R0
	117266	104030				PNTNBR			;PRINT MIDDLE-BIT OF OCTAL
	117270	010400				MOV	R4,R0
	117272	040300				BIC	R3,R0
	117274	104030				PNTNBR			;PRINT LO-BIT OF OCTAL
	117276	104032				PSPACE
						POP	R4
	117302	000207				RTS	PC
					
	117304	012703	000006		$P36MV:	MOV	#6,R3		;MOVE 6 BYTES
	117310	012702	150024			MOV	#$TTSAV,R2	;TO SETUP DATA
	117314	010201				MOV	R2,R1
	117316	112022			1$:	MOVB	(R0)+,(R2)+
	117320	005303				DEC	R3
	117322	001375				BNE	1$
	117324	005005			$PODMV:	CLR	R5
	117326	005004				CLR	R4
	117330	012703	000004			MOV	#4,R3
	117334	010337	147774			MOV	R3,$0FLG	;SET SPACE FLAG
	117340	104146				PROL36			;PRESET NUMBER
	117342	000207				RTS	PC
					
	117344	006111			$PROL36:ROL	(R1)
	117346	006161	000002			ROL	2(R1)
	117352	006161	000004			ROL	4(R1)
	117356	005303				DEC	R3
	117360	001371				BNE	$PROL36
	117362	000715				BR	$$PEX
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 197
	SUB11 PAL[KL,SYS]	Page 14 	PRINT OCTAL

					.SBTTL	PRINT OCTAL
					
	117364	012704	777777		$PNTOCT:MOV	#-1,R4		;PRINT OCTAL
	117370	000401				BR	$PNTO
					
					.SBTTL	PRINT OCTAL ZERO SUPRRESS
					
	117372	005004			$PNTOSC:CLR	R4		;PRINT OCTAL ZERO SUPPRESS
	117374	012701	000006		$PNTO:	MOV	#6,R1		;SET FOR 6 DIGITS
	117400	010002				MOV	R0,R2		;SAVE INPUT NUMBERS
	117402	005005				CLR	R5		;CLEAR THE ZERO FILL FLAG
	117404	005704				TST	R4		;ZERO SUPPRESS ?
	117406	001004				BNE	10$		;NO
	117410	005700				TST	R0		;TEST FOR A ZERO INPUT NUMBER
	117412	001003				BNE	1$
	117414	005001				CLR	R1		;INPUT = 0 PRINT AND EXIT
	117416	000417				BR	5$
					
	117420	005205			10$:	INC	R5
	117422	005000			1$:	CLR	R0
	117424	006102				ROL	R2		;MSD TO C BIT
	117426	000404				BR	3$
					
	117430	006102			2$:	ROL	R2
	117432	006102				ROL	R2
	117434	006102				ROL	R2
	117436	010200				MOV	R2,R0
	117440	006100			3$:	ROL	R0
					
	117442	042700	177770			BIC	#177770,R0	;GET RID OF JUNK
	117446	001401				BEQ	4$
	117450	005205				INC	R5		;SET ZERO FILL FLAG
					
	117452	005705			4$:	TST	R5		;SUPPRESS ?
	117454	001401				BEQ	6$
	117456	104030			5$:	PNTNBR			;PRINT DIGIT
	117460	005301			6$:	DEC	R1
	117462	003362				BGT	2$
					
	117464	005704				TST	R4
	117466	001401				BEQ	7$
	117470	104032				PSPACE			;SPACE UNLESS OCTAL SUPPRESS
	117472	000450			7$:	BR	$$PEX1
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 198
	SUB11 PAL[KL,SYS]	Page 15 	CONVERT BINARY TO DECIMAL AND TYPE ROUTINE

					.SBTTL	CONVERT BINARY TO DECIMAL AND TYPE ROUTINE
					
	117474	012701	000005		$PNTDEC:MOV	#5,R1		;SET FOR 5 DIGIT
	117500	010002				MOV	R0,R2		;SAVE INPUT NUMBER
	117502	005005				CLR	R5		;CLEAR ZERO FILL FLAG
	117504	005700				TST	R0		;TEST SIGN OF INPUT NUMBER
	117506	100007				BPL	1$		;POSITIVE GO TYPE IT
	117510	112700	000055			MOVB	#'-,R0		;PRINT A MINUS SIGN
	117514	104027				PNTCHR			;SEND TO BUFFER
	117516	005402				NEG	R2		;NEGATE THE NUMBER
	117520	010200				MOV	R2,R0		;GET NUMBER AGAIN
	117522	042700	100000			BIC	#100000,R0	;CLEAR SIGN BIT
	117526	005700			1$:	TST	R0		;TEST FOR A ZERO INPUT NUMBER
	117530	001002				BNE	2$		;NON ZERO
	117532	104030				PNTNBR			;PRINT A SINGLE ZERO AND EXIT
	117534	000425				BR	9$		;EXIT
	117536	005003			2$:	CLR	R3		;ZERO THE CONSTANTS INDEX
	117540	005000			3$:	CLR	R0		;CLEAR THE BCD NUMBER
	117542	166302	145002		4$:	SUB	$DTBL(R3),R2	;FORM THIS BCD DIGIT
	117546	002402				BLT	5$		;BR IF DONE
	117550	005200				INC	R0		;INCREASE THE BCD DIGIT BY 1
	117552	000773				BR	4$
	117554	066302	145002		5$:	ADD	$DTBL(R3),R2	;ADD BACK THE CONSTANT
	117560	005700				TST	R0		;TEST IF DIGIT IS A ZERO
	117562	001402				BEQ	6$		;YES
	117564	005205				INC	R5		;NO SET ZERO FILL FLAG
	117566	000402				BR	7$
					
	117570	005705			6$:	TST	R5		;IS ZERO FILL FLAG SET
	117572	001403				BEQ	8$		;YES EXIT
	117574	052700	000060		7$:	BIS	#'0,R0		;MAKE THE BCD DIGIT ASCII
	117600	104027				PNTCHR
	117602	005723			8$:	TST	(R3)+		;JUST INCREMENTING
	117604	005301				DEC	R1		;DONE YET
	117606	003354				BGT	3$		;GO DO THE NEXT DIGIT
	117610	104214			9$:	PNTCI
	117612	000056				'.			;PRINT DECIMAL POINT
					$$PEX1:	EXIT			;RETURN TO USER
	117614	000137	124062			  JMP	$EXIT
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 199
	SUB11 PAL[KL,SYS]	Page 16 	TTY INPUT ROUTINE TTICHR

					.SBTTL	TTY INPUT ROUTINE TTICHR
					
	117620	005000			$TTICHR:CLR	R0
	117622	023737	150736	150740		CMP	$INPTC,$INPTR	;ARE WE AT END ON CURRENT BUFFER
	117630	003007				BGT	$TTIX2		;YES EXIT
	117632	117700	031100			MOVB	@$INPTC,R0	;FETCH CHARACTER FROM BUFFER
	117636	005237	150736			INC	$INPTC
					
	117642	042700	177600		$TTIX1:	BIC	#177600,R0
	117646	000431				BR	$$PSX2		;OK RETURN
	117650	000426			$TTIX2:	BR	$$PEX2		;ERROR RETURN
					
					.SBTTL	TTY LOOK
					
					;*TELETYPE KEYBOARD CHECK ROUTINE
					;*CHECKS FOR ANY KEY STRUCK,RETURNS IMMEDIATELY
					;*RETURNS WITH C-BIT SET IF NO TYPEIN
					
	117652	005237	150004		$TTLOOK:INC	$TTLKF		;SET INHIBIT INPUT CHECKS
	117656	005000				CLR	R0
	117660	004737	120666			JSR	PC,$TIRDY	;ANYTHING BEEN TYPED
	117664	103771				BCS	$TTIX2		;NO, C-BIT RETURN
	117666	113700	147764			MOVB	$TICHR,R0	;YES, PUT IT IN R0
	117672	005037	150004			CLR	$TTLKF		;CLEAR INHIBIT INPUT CHECKS
	117676	000761				BR	$TTIX1		;RETURN
					
					.SBTTL	TTY ALT-MODE CHECK ROUTINE
					
					;*CHECK FOR ALT-MODE IF NOTHING TYPED OR NOT ALTMODE C-BIT SET
					;*IF ALT-MODE WAS TYPED THEN C-BIT CLEAR
					
	117700	104006			$TTALTM:TTLOOK			;ANYTHING TYPED
	117702	103411				 BCS	2$		;NO
					
	117704	120027	000175			CMPB	R0,#175
	117710	001412				BEQ	3$
	117712	120027	000176			CMPB	R0,#176
	117716	001407				BEQ	3$
	117720	120027	000033			CMPB	R0,#ALTMOD
	117724	001402				BEQ	1$
					
		117726			$$PEX2=.
					2$:	EXITERR			;EXIT
	117726	000137	124034			  JMP	$EXITE
		117732			$$PSX2=.
					1$:	EXIT			;OK RETURN
	117732	000137	124062			  JMP	$EXIT
					
	117736	112700	000033		3$:	MOVB	#ALTMOD,R0
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 200
	SUB11 PAL[KL,SYS]	Page 16.1 	TTY ALT-MODE CHECK ROUTINE

	117742	000773				BR	1$
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 201
	SUB11 PAL[KL,SYS]	Page 17 	TTIYES YES OR NO ROUTINE

					.SBTTL	TTIYES YES OR NO ROUTINE
					
					; NO BITS SET IF YES
					; N-BIT SET IF NO
					; C-BIT SET IF NEITHER
					
	117744	104005			$TTIYES:TTICHR			;GET INPUT CHARACTER
	117746	103767				 BCS	$$PEX2		;NO CHAR AVAILABLE
	117750	122700	000131			CMPB	#'Y,R0		;WAS THE CHAR A "Y" ?
	117754	001766				BEQ	$$PSX2		;BR IF YES
	117756	122700	000116			CMPB	#'N,R0		;WAS THE CHAR AN "N" ?
	117762	001361				BNE	$$PEX2		;BR IF NO, NEITHER
	117764	052766	000010	000014		BIS	#NBIT,14(SP)	;"NO", SET N-BIT
	117772	000757				BR	$$PSX2
					
					.SBTTL	PRINT A SELECTED NUMBER OF SPACES
					
	117774	005301			$PNTSPC:DEC	R1
	117776	002402				BLT	1$
					
	120000	104032				PSPACE			;PRINT SPACE
	120002	000774				BR	$PNTSPC
					
	120004	000207			1$:	RTS	PC
					
					.SBTTL	BACKUP TTY INPUT BUFFER POINTER
					
	120006	023727	150736	150520	$TTBACK:CMP	$INPTC,#$INBUF
	120014	003744				BLE	$$PEX2		;CAN'T, C-BIT SET RETURN
	120016	005337	150736			DEC	$INPTC		;BACKUP POINTER
	120022	000743				BR	$$PSX2
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 202
	SUB11 PAL[KL,SYS]	Page 18 	READ SWITCH REGISTER

					.SBTTL	READ SWITCH REGISTER
					
	120024	013700	177570		$SWITCH:MOV	SWR,R0		;PUT SWR INTO R0
					
	120030	010037	147652		1$:	MOV	R0,$SWTCH	;SAVE A COPY FOR FUTURE REFERENCE
	120034	000410				BR	$$PEX3		;RETURN TO USER
					
					.SBTTL	RETURN WITH COPY OF SWITCHES 
					
	120036	013700	147652		$SWTSAM:MOV	$SWTCH,R0	;COPY OF SWITCHES TO RO
	120042	000405				BR	$$PEX3
					
					.SBTTL	SET FORCE PRINT FLAG
					
	120044	104055			$PFORCE:SETFLG
	120046	150000				  $FORCE		;177777 TO FORCE FLAG
	120050	000402				BR	$$PEX3		;RETURN
					
					
					.SBTTL	CLEAR FORCE PRINT FLAG
					
	120052	005037	150000		$PNORML:CLR	$FORCE		;0 TO FORCE FLAG
					$$PEX3:	EXIT			;RETURN
	120056	000137	124062			  JMP	$EXIT
					
					;TTILIN ENTRY POINT FROM RUNLP
					
	120062	005037	150002		$TILRN:	CLR	TILNWF		;CLEAR TTY WAIT FLAG
	120066	004737	120104			JSR	PC,$TILN3	;INIT TTILIN ROUTINE
						PUSH	$FORCE
	120076	012701	150520			MOV	#$INBUF,R1
	120102	000446				BR	$TILN2		;GO INPUT, 1ST CHAR ALREADY AVAILABLE
					
	120104	005037	150010		$TILN3:	CLR	CTRLOF		;CLEAR CONTROL O FLAG
	120110	022737	150274	150514		CMP	#$OUTBF,$OUTPT	;ANY OUTPUT WAITING ?
	120116	001401				BEQ	1$		;NO
	120120	104151				PRINTT			;YES, PRINT IT
	120122	005037	150014		1$:	CLR	$TPLIT		;CLEAR LINES ON PAGE
	120126	005037	147774			CLR	$0FLG		;CLEAR RUBOUT FLAG
	120132	005037	147702			CLR	$TTYTIM		;CLEAR TTY TIMEOUT
	120136	000207				RTS	PC
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 203
	SUB11 PAL[KL,SYS]	Page 19 	INPUT A STRING FROM TTY

					.SBTTL	INPUT A STRING FROM TTY
					
	120140	104055			$TTILNW:SETFLG			;SET TTY WAIT FLAG
	120142	150002				  TILNWF
	120144	000402				BR	$TILNX
					
	120146	005037	150002		$TTILIN:CLR	TILNWF		;CLEAR TTY WAIT FLAG
					
	120152	004737	120104		$TILNX:	JSR	PC,$TILN3	;INIT ROUTINE
						PUSH	$FORCE
	120162	104043				PFORCE
	120164	012701	150520		95$:	MOV	#$INBUF,R1
		120170			$TILN1=.
	120170	004737	110742		2$:	JSR	PC,C10COP	;PERFORM CLOCK OPERATIONS
	120174	005737	150002			TST	TILNWF		;WAIT FOREVER ?
	120200	001004				BNE	21$		;YES, NO TIMEOUT
	120202	023727	147702	025060		CMP	$TTYTIM,#<3*60.*60.>;TTY TIMED OUT ?
	120210	003062				BGT	99$		;YES, C-BIT SET EXIT
					
	120212	004737	120666		21$:	JSR	PC,$TIRDY	;TTY IN FLAG SET
	120216	103764				BCS	2$
		120220			$TILN2=.
	120220	005037	147702			CLR	$TTYTIM
	120224	113711	147764			MOVB	$TICHR,(R1)	;MOVE CHARACTER TO BUFFER
	120230	142711	000200			BICB	#200,(R1)
	120234	111137	150044			MOVB	(R1),$TNCHR	;SAVE CHAR FOR TEN
	120240	001753				BEQ	2$		;NULL, IGNORE
	120242	104176				TENCHR			;SEND TEN THE CHAR
					
	120244	005005				CLR	R5		;DO SPECIAL CHAR PROCESS
	120246	121165	120610		80$:	CMPB	(R1),TILINC(R5)
	120252	001405				BEQ	81$		;FOUND
	120254	005205				INC	R5
	120256	105765	120610			TSTB	TILINC(R5)
	120262	001404				BEQ	82$		;IF 0, END OF LIST
	120264	000770				BR	80$
					
					81$:	SL	R5,1		;DISPATCH
	120270	000175	120630			JMP	@TILINA(R5)
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 204
	SUB11 PAL[KL,SYS]	Page 20 	INPUT A STRING FROM TTY

	120274	121127	000141		82$:	CMPB	(R1),#141
	120300	002405				BLT	83$
	120302	121127	000172			CMPB	(R1),#172
	120306	003002				BGT	83$
	120310	142711	000040			BICB	#40,(R1)	;CONVERT LOWER TO UPPER CASE
					
					83$:	PUSH	R1
	120316	111101				MOVB	(R1),R1		;PUT CHAR IN R1
	120320	104154				PLDBUF			;INSERT FOR LPT
	120322	005237	150512			INC	$OUTPP		;MOVE PRINTED-TO-POSITION
						POP	R1
					
	120330	005737	147774		10$:	TST	$0FLG		;RUBOUT KEY SET?
	120334	001405				BEQ	11$		;BR IF NO
					
	120336	112700	000134			MOVB	#BKSLH,R0	;TYPE A BACK SLASH
	120342	104152				PTTY
	120344	005037	147774			CLR	$0FLG		;CLEAR RUBOUT FLAG
					
	120350	112100			11$:	MOVB	(R1)+,R0	;CHAR TO R0
	120352	104152				PTTY			;PRINT IT
	120354	000705				BR	2$		;BACK FOR MORE
					
	120356	010137	150740		99$:	MOV	R1,$INPTR	;SAVE INPUT POINTER
						POP	$FORCE
						EXITERR			;TIMED OUT, C-BIT SET RETURN
	120366	000137	124034			  JMP	$EXITE
					
	120372	005737	147774		$TIRUB:	TST	$0FLG		;MULTIPLE RUBOUTS ?
	120376	001005				BNE	1$		;YES
	120400	005237	147774			INC	$0FLG		;SET RUBOUT FLAG
	120404	112700	000134			MOVB	#BKSLH,R0	;TYPE A BACKSLASH
	120410	104152				PTTY
					
	120412	005301			1$:	DEC	R1		;BACKUP BY ONE
	120414	020127	150517			CMP	R1,#$INBUF-1	;INPUT BUFFER EMPTY ?
	120420	001004				BNE	2$		;NO
					
	120422	104031				PCRLF			;EMPTY, PRINT CR/LF
						POP	$FORCE
	120430	000650				BR	$TILNX		;AWAIT NEW LINE
					
	120432	111100			2$:	MOVB	(R1),R0		;PRINT RUBBED OUT CHAR
	120434	104152				PTTY
	120436	000654				BR	$TILN1
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 205
	SUB11 PAL[KL,SYS]	Page 21 	INPUT A STRING FROM TTY

					;SPECIAL CHAR PROCESS
					
					$TICU:	PMSG	<↑U\>		;CONTROL U, DUMP LINE
	120440	104025				  $PMSG
	120442	146163				  $$CLIT
						POP	$FORCE
	120450	000640				BR	$TILNX
					
	120452	005201			$TICR:	INC	R1		;CARRIAGE RETURN
	120454	112711	000012			MOVB	#LF,(R1)	;INSERT LF ALSO
					
	120460	104031			$TIBELL:PCRLF			;PRINT CR/LF
					
	120462	010137	150740		$TIEXT:	MOV	R1,$INPTR	;UPDATE INPUT POINTER
	120466	012737	150520	150736		MOV	#$INBUF,$INPTC	;INIT CHAR POINTER
						POP	$FORCE
						EXIT			;RETURN
	120500	000137	124062			  JMP	$EXIT
					
	120504	112711	000033		$TIALT:	MOVB	#ALTMOD,(R1)	;ALTMODE
						PMSG	<$\>		;PRINT DOLLAR SIGN CR/LF
	120510	104025				  $PMSG
	120512	146167				  $$CLIT
	120514	000762				BR	$TIEXT
					
	120516	104031			$TIBKS:	PCRLF			;BACKSLASH, DO LOCAL CR/LF
	120520	000623				BR	$TILN1
					
					
	120522	104214			$TICC:	PNTCI			;CONTROL C, ABORT
	120524	041536				"↑C
	120526	000137	100004			JMP	$CNTLC
					
	120532	005737	157304		$TICL:	TST	LPTFLG		;CONTROL L, LPT SELECTION
	120536	100214				BPL	$TILN1
	120540	105137	157304			COMB	LPTFLG
	120544	000611				BR	$TILN1
					
	120546	111100			$TILF:	MOVB	(R1),R0		;LINE FEED
	120550	104152				PTTY
	120552	000743				BR	$TIEXT
					
	120554	005037	150010		$TICO:	CLR	CTRLOF		;CLEAR CONTROL O FLAG
	120560	104214				PNTCI
	120562	047536				"↑O
	120564	000735				BR	$TIBELL		;CR/LF & TERMINATE
					
	120566	104217			$TICX:	TTPINI
	120570	104214				PNTCI
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 206
	SUB11 PAL[KL,SYS]	Page 21.1 	INPUT A STRING FROM TTY

	120572	054136				"↑X
	120574	104004				TTILIN			;GET COMMAND LINE
	120576	103751				 BCS	$TICC		;TIMED OUT
	120600	013706	147756			MOV	$KONSP,SP	;RESTORE STACK POINTER
	120604	000137	100456			JMP	$RPT		;GO PROCESS COMMAND
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 207
	SUB11 PAL[KL,SYS]	Page 22 	INPUT A STRING FROM TTY

					;SPECIAL CHARACTERS
					
	120610	   015		
	120611	   012			TILINC:	.BYTE	CR,LF
	120612	   007		
	120613	   033				.BYTE	BELL,ALTMOD
	120614	   175		
	120615	   176				.BYTE	175,176
	120616	   014		
	120617	   025				.BYTE	CNTRLL,CNTRLU
	120620	   003		
	120621	   134				.BYTE	CNTRLC,BKSLH
	120622	   177		
	120623	   017				.BYTE	RUBOUT,CNTRLO
	120624	   021		
	120625	   023				.BYTE	XON,XOFF
	120626	   030		
	120627	   000				.BYTE	CNTRLX,0
					
					;SPECIAL CHAR DISPATCH TABLE
					
	120630	120452			TILINA:	$TICR
	120632	120546				$TILF
	120634	120460				$TIBELL
	120636	120504				$TIALT
	120640	120504				$TIALT
	120642	120504				$TIALT
	120644	120532				$TICL
	120646	120440				$TICU
	120650	120522				$TICC
	120652	120516				$TIBKS
	120654	120372				$TIRUB
	120656	120554				$TICO
	120660	120460				$TIBELL
	120662	120460				$TIBELL
	120664	120566				$TICX
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 208
	SUB11 PAL[KL,SYS]	Page 23 	CTY & FSTTY DL11 DRIVERS

					.SBTTL	CTY & FSTTY DL11 DRIVERS
					
	120666	105777	757126		$TIRDY:	TSTB	@$TKS		;ANY CTY INPUT ?
	120672	100020				BPL	2$		;NO
	120674	032777	020000	757120		BIT	#20000,@$TKB	;YES. BREAK?
	120702	001010				BNE	5$		;BRANCH IF YES
	120704	117737	757112	147764		MOVB	@$TKB,$TICHR	;GET CHAR
	120712	142737	000200	147764	1$:	BICB	#200,$TICHR	;CLEAR PARITY BIT
	120720	000241				CLC			;C-BIT CLEAR RETURN
	120722	000207				RTS	PC
					
	120724	112737	000030	147764	5$:	MOVB	#MSWCHR,$TICHR	;BREAK SEEN. 
	120732	000767				BR	1$
					
					2$:
					.IF NDF TELASB
						TST	DL11EFLG	;DOING DL11E ?
						BEQ	3$		;NO
						BIT	#DLCTS,@$FSTKS	;YES, STILL HAVE CLEAR TO SEND ?
						BEQ	4$		;NO
					.IFF
	120734	005737	152256			TST FSFLG		;DOING DL11E?
	120740	001413				BEQ 3$			;NO
	120742	032777	020000	757060		BIT #DLCTS,@$FSTKS	;STILL HAVE CLEAR TO SEND?
	120750	001407				BEQ 3$			;NO
					.ENDC
	120752	105777	757052			TSTB	@$FSTKS		;ANY FSTTY INPUT ?
	120756	100004				BPL	3$		;NO
	120760	117737	757046	147764		MOVB	@$FSTKB,$TICHR	;YES, GET CHAR
	120766	000751				BR	1$		;C-BIT CLEAR RETURN
					
	120770	000261			3$:	SEC			;NO INPUT, C-BIT SET RETURN
	120772	000207				RTS	PC
					
					.LIF NDF TELASB
					4$:	JMP	FSDISC		;DL11E DISCONNECT
					
	120774	105777	757024		$TORDY:	TSTB	@$TPS		;IS CTY READY ?
	121000	100014				BPL	2$		;NO
					.IF NDF TELASB
						TST	DL11EFLG	;DOING DL11E ?
						BEQ	1$		;NO
						BIT	#DLCTS,@$FSTKS	;STILL HAVE CLEAR TO SEND ?
						BEQ	3$		;NO
					.IFF
	121002	005737	152256			TST FSFLG
	121006	001407				BEQ 1$
	121010	032777	020000	757012		BIT #DLCTS,@$FSTKS	;STILL HAVE CLEAR TO SEND?
	121016	001403				BEQ 1$			;NO
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 209
	SUB11 PAL[KL,SYS]	Page 23.1 	CTY & FSTTY DL11 DRIVERS

					.ENDC
	121020	105777	757010			TSTB	@$FSTPS		;IS FSTTY READY ?
	121024	100002				BPL	2$		;NO
					
	121026	000241			1$:	CLC			;ALL READY, C-BIT CLEAR RETURN
	121030	000207				RTS	PC
					
	121032	000261			2$:	SEC			;NOT READY
	121034	000207				RTS	PC
					
					.LIF NDF TELASB
					3$:	JMP	FSDISC		;DL11E DISCONNECT
					
	121036	113777	147762	756762	$TOOUT:	MOVB	$TOCHR,@$TPB	;PRINT ON CTY
					
					.IF NDF TELASB
						TST	DL11EFLG
						BEQ	1$
					.IFF
	121044	005737	152256			TST FSFLG
	121050	001407				BEQ 1$
	121052	032777	020000	756750		BIT #DLCTS,@$FSTKS	;STILL HAVE CLEAR TO SEND
	121060	001403				BEQ 1$
					.ENDC
	121062	113777	147762	756746		MOVB	$TOCHR,@$FSTPB	;PRINT ON FSTTY
	121070	000207			1$:	RTS	PC
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 210
	SUB11 PAL[KL,SYS]	Page 24 	READ AN OCTAL NUMBER FROM THE TTY

					.SBTTL	READ AN OCTAL NUMBER FROM THE TTY
					
					;REGISTER USAGE
					;R0 = TTY CHARACTER 7 BIT FROM $INBUF
					;R2 = WORK REGISTER
					;R3 = CLEARED/SET = NO OCTAL CHARS/AT LEAST 1 OCTAL CHAR
					
	121072	005002			$TTIOCT:CLR	R2		;CLEAR WORK REGISTER
	121074	004737	121166			JSR	PC,$TMINUS	;CHECK FOR PLUS & MINUS
	121100	104005			1$:	TTICHR			;PICKUP THIS CHARACTER
	121102	103416				 BCS	2$
					
	121104	120027	000060			CMPB	R0,#60		;MAKE SURE THIS CHARACTER
	121110	002413				BLT	2$		;IS AN OCTAL DIGIT
	121112	120027	000067			CMPB	R0,#67
	121116	003010				BGT	2$
					
	121120	005203				INC	R3		;TO SHOW I GOT ONE CHARACTER
					
	121122	006302				ASL	R2
	121124	006302				ASL	R2
	121126	006302				ASL	R2
					
	121130	042700	177770			BIC	#177770,R0
	121134	060002				ADD	R0,R2
	121136	000760				BR	1$
					
	121140	005000			2$:	CLR	R0		;SET UP FOR EXIT
					
	121142	005703				TST	R3		;DID WE GET ANY DATA
	121144	001406				BEQ	$$PEX7		;NO, ERROR RETURN
					
	121146	010200				MOV	R2,R0
	121150	005704				TST	R4		;NEGATE FLAG SET ?
	121152	001401				BEQ	$$PEX6		;NO
	121154	005400				NEG	R0		;YES, MAKE NUMBER NEGATIVE
	121156	000137	122336		$$PEX6:	JMP	$TTERM		;VERIFY TERMINATION & EXIT
					$$PEX7:	EXITERR			;ERROR RETURN
	121162	000137	124034			  JMP	$EXITE
					
	121166	005003			$TMINUS:CLR	R3		;CLEAR CHAR COUNTER
	121170	005004				CLR	R4		;CLEAR NEGATE FLAG
	121172	013705	150736			MOV	$INPTC,R5	;SAVE INPUT POINTER
	121176	104005				TTICHR			;GET 1ST CHAR
	121200	103412				 BCS	82$		;NONE AVAILABLE
	121202	122700	000053			CMPB	#'+,R0
	121206	001404				BEQ	80$
	121210	122700	000055			CMPB	#'-,R0		;NEGATE ?
	121214	001002				BNE	81$		;BR IF NO
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 211
	SUB11 PAL[KL,SYS]	Page 24.1 	READ AN OCTAL NUMBER FROM THE TTY

	121216	005204				INC	R4		;YES, SET NEGATE FLAG
	121220	005205			80$:	INC	R5		;YES, ADVANCE PAST -
	121222	010537	150736		81$:	MOV	R5,$INPTC
	121226	000207			82$:	RTS	PC
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 212
	SUB11 PAL[KL,SYS]	Page 25 	READ A DECIMAL NUMBER FROM THE TTY

					.SBTTL	READ A DECIMAL NUMBER FROM THE TTY
					
	121230	012702	150024		$TTIDEC:MOV	#$TTSAV,R2	;RESERVE STORAGE
	121234	004737	121166			JSR	PC,$TMINUS	;CHECK FOR PLUS & MINUS
	121240	104005			1$:	TTICHR			;READ IN A CHARACTER
	121242	103413				 BCS	2$
	121244	120027	000060			CMPB	R0,#60		;MAKE SURE THIS CHARACTER
	121250	002410				BLT	2$		;IS A DIGIT BETWEEN 0 & 9
	121252	120027	000071			CMPB	R0,#71
	121256	003005				BGT	2$
	121260	005203				INC	R3		;SO I KNOW I GOT A DIGIT
	121262	042700	177760			BIC	#177760,R0	;DON'T LET NUMBER GET TO BIG
	121266	110022				MOVB	R0,(R2)+
	121270	000763				BR	1$
	121272	005000			2$:	CLR	R0		;CLEAR OUTPUT
	121274	005703				TST	R3		;DID WE GET ANY THING
	121276	001420				BEQ	6$		;NO
					
					;NOW WE CONVERT IT
					
	121300	005001				CLR	R1		;CLEAR TABLE INDEX
	121302	020227	150024		3$:	CMP	R2,#$TTSAV
	121306	002410				BLT	5$		;YES NORMAL EXIT
	121310	114205				MOVB	-(R2),R5	;PUT IN R5
	121312	005305			4$:	DEC	R5		;DONE YET
	121314	002403				BLT	7$
	121316	066100	145014			ADD	$TBLL(R1),R0	;TALLY IT UP
	121322	000773				BR	4$
	121324	005721			7$:	TST	(R1)+		;UPDATE TABLE TALLY
	121326	000765				BR	3$
	121330	005704			5$:	TST	R4		;NEGATE NUMBER ?
	121332	001401				BEQ	9$
	121334	005400				NEG	R0		;YES
	121336	000707			9$:	BR	$$PEX6		;RETURN
	121340	000710			6$:	BR	$$PEX7		;ERROR RETURN
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 213
	SUB11 PAL[KL,SYS]	Page 26 	READ A 12 DIGIT OCTAL (36 BIT) NUMBER

					.SBTTL	READ A 12 DIGIT OCTAL (36 BIT) NUMBER
					
					;$0FLG, 0=NO DATA; 0,-1=ONE DATA WORD; -1,-1= TWO PART DATA
					;DATA IS TRUNCATED TO 6 OCTALS IN EITHER HALF OF 2 PART DATA
					;DATA IS TRUNCATED TO 12 OCTALS IN 1 PART DATA
					;DURING CONVERSION
					;1 PART DATA; $0FLG =0
					;2 PART DATA; $0FLG=-1,0 DURING HI6; 0,-1 DURING LO6
					
	121342	004737	122042		$TTI36:	JSR	PC,$TI36C
	121346	005037	147770			CLR	$SVH
	121352	005037	147766			CLR	$SVM
	121356	005037	147774			CLR	$0FLG
	121362	005037	147772			CLR	$NEG
	121366	004737	121166			JSR	PC,$TMINUS
	121372	005704				TST	R4
	121374	001402				BEQ	1$
	121376	105237	147773			INCB	$NEG+1		;SET NEGATE FLAG
					
	121402	104005			1$:	TTICHR			;READ A CHAR
	121404	103424			99$:	 BCS	98$		;BUFFER EMPTY
					
	121406	120027	000060			CMPB	R0,#60		;MAKE SURE ITS OCTAL
	121412	002407				BLT	2$
	121414	120027	000067			CMPB	R0,#67
	121420	003004				BGT	2$
					
	121422	112737	777777	147774		MOVB	#-1,$0FLG	;WE GOT AT LEAST 1 DIGIT
	121430	000764				BR	1$
					
	121432	105737	147774		2$:	TSTB	$0FLG
	121436	001546				BEQ	69$
	121440	120027	000040			CMPB	R0,#BLANK	;WAS IT A SPACE ?
	121444	001021				BNE	3$		;NOPE
	121446	112737	777777	147775		MOVB	#-1,$0FLG+1	;SET 2 WORD FLAG
	121454	104005				TTICHR			;GET 1ST CHAR OF 2ND PART
	121456	103421			98$:	 BCS	97$
	121460	122700	000053			CMPB	#'+,R0
	121464	001410				BEQ	71$
	121466	122700	000055			CMPB	#'-,R0		;IS IT MINUS ?
	121472	001403				BEQ	21$		;YES
	121474	005337	150736			DEC	$INPTC		;NO, BACKUP INPUT POINTER
	121500	000740				BR	1$
	121502	105237	147772		21$:	INCB	$NEG		;SET 2ND PART NEGATE FLAG
	121506	000735			71$:	BR	1$		;PROCESS 2ND HALF WORD
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 214
	SUB11 PAL[KL,SYS]	Page 27 	READ A 12 DIGIT OCTAL (36 BIT) NUMBER

	121510	010537	150736		3$:	MOV	R5,$INPTC	;RESET INPUT POINTER
	121514	105037	147774			CLRB	$0FLG
					
	121520	104005			4$:	TTICHR
	121522	103444			97$:	 BCS	96$
	121524	120027	000060			CMPB	R0,#60
	121530	002414				BLT	5$
	121532	120027	000067			CMPB	R0,#67
	121536	003011				BGT	5$
					
	121540	142700	000370			BICB	#370,R0
	121544	012701	000003			MOV	#3,R1
					
	121550	004737	121764		6$:	JSR	PC,SHFT36	;SHIFT 36 BIT WORD LEFT 3
					
	121554	150037	147502			BISB	R0,$DRAM	;INSERT NEW CHAR
	121560	000757				BR	4$
					
	121562	105737	147775		5$:	TSTB	$0FLG+1		;DOING 2 PART NUMBER ?
	121566	001434				BEQ	8$		;BR IF NO
					
	121570	105737	147773		51$:	TSTB	$NEG+1		;NEGATE UPPER PART ?
	121574	001402				BEQ	52$		;NO
					
	121576	004737	122006			JSR	PC,NEG36	;NEGATE 36 BIT WORD
					
	121602	012701	000022		52$:	MOV	#18.,R1		;YES, MOVE NUMBER TO UPPER 18 BITS
					
	121606	004737	121764		7$:	JSR	PC,SHFT36	;SHIFT 36 BIT WORD LEFT 18
					
	121612	014537	147770			MOV	-(R5),$SVH	;SAVE UPPER BITS
	121616	014537	147766			MOV	-(R5),$SVM	;SAVE MIDDLE BITS
	121622	004737	122042			JSR	PC,$TI36C
					
	121626	000337	147774			SWAB	$0FLG		;MAKE $0FLG 0,-1
	121632	104005				TTICHR			;GET 1ST CHAR OF 2ND PART
	121634	103450			96$:	 BCS	9$
	121636	122700	000053			CMPB	#'+,R0
	121642	001726				BEQ	4$
	121644	122700	000055			CMPB	#'-,R0		;IS IT MINUS ?
	121650	001723				BEQ	4$		;YES
	121652	005337	150736			DEC	$INPTC		;NO, BACKUP INPUT POINTER
	121656	000720				BR	4$
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 215
	SUB11 PAL[KL,SYS]	Page 28 	READ A 12 DIGIT OCTAL (36 BIT) NUMBER

	121660	105737	147774		8$:	TSTB	$0FLG
	121664	001417				BEQ	10$		;BR IF 1 PART
	121666	105737	147772			TSTB	$NEG		;NEGATE LOWER PART ?
	121672	001402				BEQ	81$		;NO
					
	121674	004737	122006			JSR	PC,NEG36	;NEGATE 36 BIT WORD
					
	121700	012701	147504		81$:	MOV	#$DRAM+2,R1
	121704	042711	177774			BIC	#177774,(R1)
	121710	053721	147766			BIS	$SVM,(R1)+
	121714	005011				CLR	(R1)		;CLEAR BITS 0-17
	121716	053711	147770			BIS	$SVH,(R1)	;REINSERT UPPER BITS
	121722	000405				BR	12$
					
	121724	105737	147773		10$:	TSTB	$NEG+1		;MAKE NUMBER NEGATIVE ?
	121730	001402				BEQ	12$		;BR IF NO
	121732	004737	122006			JSR	PC,NEG36	;NEGATE 36 BIT WORD
					
	121736	042737	177760	147506	12$:	BIC	#177760,$DRAM+4	;STRIP OVERFLOW
	121744	012700	147502			MOV	#$DRAM,R0	;RETURN STORAGE ADR IN R0
	121750	000137	122336			JMP	$TTERM		;VERIFY TERMINATION & EXIT
	121754	005000			69$:	CLR	R0		;NO DIGITS TYPED
	121756	104201			9$:	TTERM			;VERIFY TERMINATION
						EXITERR			;ERROR RETURN
	121760	000137	124034			  JMP	$EXITE
					
					;SHIFT 36 BIT WORD C(R1) PLACES LEFT
					
	121764	012705	147502		SHFT36:	MOV	#$DRAM,R5
	121770	000241				CLC
	121772	006125				ROL	(R5)+
	121774	006125				ROL	(R5)+
	121776	006125				ROL	(R5)+
	122000	005301				DEC	R1
	122002	003370				BGT	SHFT36
	122004	000207				RTS	PC
					
					;NEGATE - TWO'S COMPLEMENT 36 BIT WORD
					
	122006	012701	147502		NEG36:	MOV	#$DRAM,R1	;MAKE 1'S COMPLEMENT
	122012	005121				COM	(R1)+
	122014	005121				COM	(R1)+
	122016	005111				COM	(R1)
	122020	012701	147502			MOV	#$DRAM,R1
	122024	062721	000001			ADD	#1,(R1)+	;MAKE THAT 2'S COMPLEMENT
	122030	005521				ADC	(R1)+
	122032	005511				ADC	(R1)
	122034	042711	177760			BIC	#177760,(R1)	;STRIP OVERFLOW
	122040	000207				RTS	PC
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 216
	SUB11 PAL[KL,SYS]	Page 28.1 	READ A 12 DIGIT OCTAL (36 BIT) NUMBER

					
	122042	012700	147502		$TI36C:	MOV	#$DRAM,R0	;CLEAR STORAGE
	122046	005020				CLR	(R0)+
	122050	005020				CLR	(R0)+
	122052	005020				CLR	(R0)+
	122054	000207				RTS	PC
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 217
	SUB11 PAL[KL,SYS]	Page 29 	SIGNED MULTIPLY SUBROUTINE

					.SBTTL	SIGNED MULTIPLY SUBROUTINE
					
					$MULTP:	PUSH	R0
	122060	016601	000022			MOV	22(SP),R1
	122064	016600	000020			MOV	20(SP),R0	;MULTIPLICAND
	122070	005004				CLR	R4		;CLEAR SIGN
	122072	005700				TST	R0		;TEST SIGN
	122074	100002				BPL	1$
					
	122076	005204				INC	R4		;SET SIGN BIT
	122100	005400				NEG	R0		;MAKE MULTIPLICAND POSITIVE
					
	122102	005701			1$:	TST	R1		;TEST SIGN OF MULTIPLIER
	122104	100002				BPL	2$
					
	122106	005304				DEC	R4		;UPDATE SIGN BIT
	122110	005401				NEG	R1		;MAKE MULTIPLIER POSITIVE
					
	122112	012703	000021		2$:	MOV	#17.,R3		;SET LOOP COUNT
	122116	005002				CLR	R2		;SET UP FOR MULTIPLY LOOP
					
	122120	103001			3$:	 BCC	4$		;DONT ADD IF MULTIPLICAND IS ZERO
	122122	060102				ADD	R1,R2
					
	122124	006002			4$:	ROR	R2		;POSITION THE PARTIAL PRODUCT
	122126	006000				ROR	R0		;AND THE MULTIPLICAND
	122130	005303				DEC	R3		;DONE YET
	122132	001372				BNE	3$		;NOPE
					
	122134	005704				TST	R4		;TEST SIGN
	122136	001403				BEQ	5$		;PRODUCT IS POSITIVE
					
	122140	005400				NEG	R0		;PRODUCT SHOULD BE NEGATIVE
	122142	005402				NEG	R2
	122144	005600				SBC	R0		;SUBTRACT CARRY
					
	122146	010066	000020		5$:	MOV	R0,20(SP)	;MOST SIGNIFICANT BITS
	122152	010266	000022			MOV	R2,22(SP)	;LEAST SIGNIFICANT BITS
						POP	R0
						EXIT			;EXIT
	122160	000137	124062			  JMP	$EXIT
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 218
	SUB11 PAL[KL,SYS]	Page 30 	BREAK CHARACTER

					.SBTTL	BREAK CHARACTER
					
	122164	005337	150736		$TTIBRK:DEC	$INPTC		;BACKUP INPUT POINTER
	122170	104005				TTICHR
	122172	103122				 BCC	$$PEX4		;NOTHING IN BUFFER
					$$PEX5:	EXITERR
	122174	000137	124034			  JMP	$EXITE
					
					.SBTTL	TELETYPE INPUT SPACE DELETE ROUTINE
					
	122200	104005			$TTSDL:	TTICHR
	122202	103446				 BCS	$TTSDX		;BUFFER EMPTY
	122204	120027	000040			CMPB	R0,#BLANK
	122210	001773				BEQ	$TTSDL		;DELETE SPACES
	122212	120027	000011			CMPB	R0,#TAB
	122216	001770				BEQ	$TTSDL		;DELETE TABS
	122220	122700	000055			CMPB	#'-,R0			;TREAT + OR -
	122224	001411				BEQ	3$			;SAME AS NUMBER
	122226	122700	000053			CMPB	#'+,R0
	122232	001406				BEQ	3$
	122234	120027	000060			CMPB	R0,#60
	122240	002406				BLT	1$		;BR IF NON-NUMBER
	122242	120027	000071			CMPB	R0,#71
	122246	003003				BGT	1$		;BR IF NON-NUMBER
	122250	005337	150736		3$:	DEC	$INPTC		;NUMBER, BACKUP INPUT POINTER
	122254	000471				BR	$$PEX4		;C-BIT CLEAR RETURN
	122256	120027	000072		1$:	CMPB	R0,#':		;COLON OR SLASH, V-BIT & C-BIT SET
	122262	001412				BEQ	10$
	122264	120027	000057			CMPB	R0,#'/
	122270	001407				BEQ	10$
	122272	120027	000136			CMPB	R0,#'↑		;UPARROW, Z-BIT & C-BIT SET
	122276	001336				BNE	$$PEX5
	122300	052766	000004	000014		BIS	#ZBIT,14(SP)
	122306	000732				BR	$$PEX5
					
	122310	052766	000002	000014	10$:	BIS	#VBIT,14(SP)
	122316	000726				BR	$$PEX5
	122320	000137	113452		$TTSDX:	JMP	$PARAM
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 219
	SUB11 PAL[KL,SYS]	Page 31 	TELETYPE INPUT TERMINATION CHECK

					.SBTTL	TELETYPE INPUT TERMINATION CHECK
					
	122324	005237	150736		$TTITRM:INC	$INPTC		;BECAUSE "TTERM" DECREMENTS
	122330	104201			$TTBTRM:TTERM			;VERIFY TERMINATOR
	122332	103772				BCS	$TTSDX		;BAD, C-BIT SET RETURN
	122334	000441				BR	$$PEX4		;OK
					
					$TTERM:	PUSH	R0
	122340	005337	150736			DEC	$INPTC		;BACKUP INPUT POINTER
	122344	104005				TTICHR			;GET TERMINATION CHAR
	122346	103407				 BCS	2$		;NONE
	122350	012701	122376			MOV	#TRMTAB,R1	;SETUP TERMINATION SCAN POINTER
	122354	120011			1$:	CMPB	R0,(R1)		;CHAR MATCH LEGAL TERMINATOR ?
	122356	001403				BEQ	2$		;YES
	122360	105721				TSTB	(R1)+		;NOT YET, GO TO NEXT
	122362	001403				BEQ	3$		;NO MATCH, ERROR
	122364	000773				BR	1$
					2$:	POP	R0
	122370	000423				BR	$$PEX4		;OK, C-BIT CLEAR RETURN
					3$:	POP	R0
	122374	000677				BR	$$PEX5		;ERROR, C-BIT SET RETURN
					
	122376	   040		
	122377	   011			TRMTAB:	.BYTE	SPACE,TAB
	122400	   054		
	122401	   015				.BYTE	COMMA,CR
	122402	   033		
	122403	   072				.BYTE	ALTMOD,72	;COLON
	122404	   057		
	122405	   000				.BYTE	57,0		;SLASH
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 220
	SUB11 PAL[KL,SYS]	Page 32 	INPUT & CHECK OCTAL NUMBER

					.SBTTL	INPUT & CHECK OCTAL NUMBER
					
	122406	104016			$TTCOCT:TTISDL
	122410	103743				 BCS	$TTSDX
	122412	104007				TTIOCT
	122414	103741				 BCS	$TTSDX		;NON-OCTAL
	122416	000410				BR	$$PEX4		;OK
					
	122420	104010			$TOCTE:	TTCOCT
	122422	032700	000001			BIT	#1,R0		;ONLY EVEN OCTAL
	122426	001334				BNE	$TTSDX
	122430	000403				BR	$$PEX4
					
					.SBTTL	TELETYPE DELETE SPACES & INPUT OCTAL NUMBER
					
	122432	104010			$TTSDO:	TTCOCT
	122434	005700				TST	R0		;MUST BE POSITIVE ALSO
	122436	100730				BMI	$TTSDX
		122440			$$PEX4=.
						EXIT
	122440	000137	124062			  JMP	$EXIT
					
					.SBTTL	TELETYPE DELETE SPACES & INPUT 36BIT NUMBER
					
	122444	104016			$TTS36:	TTISDL			;DELETE SPACES
	122446	103724				 BCS	$TTSDX
	122450	104014				TTI36			;INPUT 36 BIT NUMBER
	122452	103722				 BCS	$TTSDX
	122454	000771				BR	$$PEX4
					
					.SBTTL	TELETYPE INPUT C-RAM ADDRESS
					
	122456	104017			$TICRA:	TTISDO			;GET ADDRESS
	122460	020027	002777			CMP	R0,#2777
	122464	003765				BLE	$$PEX4
	122466	000137	113350			JMP	ADRERR		;TOO BIG
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 221
	SUB11 PAL[KL,SYS]	Page 33 	SHIFT R0 RIGHT/LEFT ROUTINES

					.SBTTL	SHIFT R0 RIGHT/LEFT ROUTINES
					
	122472	017701	025156		$SHFTR:	MOV	@$EMADR,R1	;GET SHIFT COUNT
	122476	006200			1$:	ASR	R0		;SHIFT RIGHT
	122500	005301				DEC	R1
	122502	003375				BGT	1$
					$SHFTX:	EXITSKP			;SKIP OVER TRAILING PARAMETER
	122504	000137	124054			  JMP	$EXITS
					
	122510	017701	025140		$SHFTL:	MOV	@$EMADR,R1
	122514	006300			1$:	ASL	R0		;SHIFT LEFT
	122516	005301				DEC	R1
	122520	003375				BGT	1$
	122522	000770				BR	$SHFTX
					
					.SBTTL	PRINT MESSAGE, CONDITIONAL DEPENDING ON "RPTFLG"
					
	122524	105737	147752		$$PMSR:	TSTB	RPTFLG		;DOES REPEAT FLAG ALLOW PRINTING ?
	122530	001365				BNE	$SHFTX		;NO
					
					.SBTTL	PRINT MESSAGE
					
	122532	017700	025116		$$PMSG:	MOV	@$EMADR,R0	;MESSAGE ADDRESS TO R0
	122536	104024				PNTAL			;PRINT
	122540	000761				BR	$SHFTX		;SKIP RETURN
					
					.SBTTL	PRINT CHARACTER IMMEDIATE
					
	122542	013702	147654		$PNTCI:	MOV	$EMADR,R2	;GET DATA ADDRESS
	122546	112201				MOVB	(R2)+,R1	;GET FIRST BYTE
	122550	104154				PLDBUF			;INSERT IN BUFFER
	122552	111201				MOVB	(R2),R1		;GET 2ND BYTE
	122554	001401				BEQ	1$		;IS THERE ANY ?
	122556	104154				PLDBUF			;YES, INSERT IN BUFFER
	122560	000751			1$:	BR	$SHFTX		;SKIP RETURN
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 222
	SUB11 PAL[KL,SYS]	Page 34 	SMALL TIME DELAY

					.SBTTL	SMALL TIME DELAY
					
	122562	012701	000012		$DELAY:	MOV	#10.,R1
	122566	005301			1$:	DEC	R1
	122570	001376				BNE	1$
						EXIT
	122572	000137	124062			  JMP	$EXIT
					
					;CONSOLE TIME DELAY FOR REPEAT LOOPS
					
	122576	104016			.TD:	TTISDL
	122600	103404				 BCS	1$		;NO ARG, DO ONCE
	122602	104011				TTIDEC
	122604	103402				 BCS	1$		;DO ONCE ANYWAY
	122606	010001				MOV	R0,R1		;SAVE DELAY COUNT
	122610	000401				BR	2$
	122612	005001			1$:	CLR	R1
	122614	104056			2$:	TDELAY			;SMALL TIME DELAY
	122616	005301				DEC	R1		;DONE REQUESTED DELAYS ?
	122620	003375				BGT	2$
	122622	000137	100230			JMP	$KONSL
					
					.SBTTL	SAVE AND RESTORE R0-R5 ROUTINES
					
					$REGSAV:PUSH	R0
						PUSH	16(SP)
						PUSH	16(SP)
	122640	000002				RTI
					
					;*RESTORE R0-R5
					
	122642	016666	000014	000034	$REGRST:MOV	14(SP),34(SP)
	122650	016666	000012	000032		MOV	12(SP),32(SP)
	122656	062706	000016			ADD	#16,SP
						POP	<R0,R5,R4,R3,R2,R1>
	122676	000002				RTI
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 223
	SUB11 PAL[KL,SYS]	Page 35 	SAVE AND RESTORE R0-R5 ROUTINES

					;FATAL VECTOR INTERRUPT
					
					$FATLE:	PUSH	R0
						PMSG	<?FATAL INTR>
	122702	104025				  $PMSG
	122704	146172				  $$CLIT
	122706	000407				BR	$EOR
					
					$TIMOT:	PUSH	R0
						PMSG	<?BUS TIMEOUT>
	122712	104025				  $PMSG
	122714	146206				  $$CLIT
	122716	000403				BR	$EOR
					
					$RESVD:	PUSH	R0
						PMSG	<?RESERVED INST>
	122722	104025				  $PMSG
	122724	146223				  $$CLIT
					
	122726	005037	147710		$EOR:	CLR	TENRUN
						POP	R0
						PUSH	<R1,R2,R3,R4,R5,R0>
	122750	000414				BR	$EOR2
					
					;STACK UNDERFLOW
					
	122752	012706	157774		$STUF:	MOV	#STACK-2,SP
	122756	010637	147756			MOV	SP,$KONSP
						PMSG	<?ST UNFLO>
	122762	104025				  $PMSG
	122764	146242				  $$CLIT
	122766	005037	152234			CLR	PCMDFLG
	122772	000137	100004			JMP	$CNTLC
					
					$NOTAS:	PMSG	<?UNAS EMT>
	122776	104025				  $PMSG
	123000	146254				  $$CLIT
	123002	005037	152234		$EOR2:	CLR	PCMDFLG
	123006	000137	115260			JMP	$PH1
					
					$FATAL:	PUSH	R0
						PMSG	<?FATAL>
	123014	104025				  $PMSG
	123016	146266				  $$CLIT
	123020	000770				BR	$EOR2
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 224
	SUB11 PAL[KL,SYS]	Page 36 	EMT DECODER

					.SBTTL	EMT DECODER
					
					;*THIS ROUTINE WILL PICKUP THE LOWER BYTE OF THE "EMT" INSTRUCTION
					;*AND USE IT TO INDEX THROUGH THE EMT TABLE FOR THE STARTING ADDRESS
					;*OF THE DESIRED ROUTINE. THEN USING THE ADDRESS OBTAINED IT WILL
					;*GO TO THAT ROUTINE.
					
	123022	020627	157360		$EMTRP:	CMP	SP,#$$STKM		;check against stack bottom
	123026	003751				BLE	$STUF			;OFF BOTTOM OF STACK
						PUSH	<R1,R2,R3,R4,R5,R0>
	123044	016600	000014			MOV	14(SP),R0		;GET EMT ADDRESS (+2)
	123050	042766	000017	000016		BIC	#17,16(SP)		;CLEAR ALL STATUS BITS
	123056	010037	147654			MOV	R0,$EMADR		;SAVE
	123062	014000				MOV	-(R0),R0		;GET RIGHT BYTE OF EMT
	123064	042700	177400			BIC	#177400,R0
	123070	020027	000240			CMP	R0,#<<$EMTAE-$EMTAD>/2>
	123074	002340				BGE	$NOTAS			;EMT IN RANGE ?
						SL	R0,1			;ROUND TO WORD ADDRESS
	123100	016000	123106			MOV	$EMTAD(R0),R0		;INDEX TO TABLE
	123104	000200				RTS	R0			;GO TO ROUTINE
					
					.SBTTL	EMT TABLE
					
					;*THIS TABLE CONTAINS THE STARTING ADDRESSES OF THE ROUTINES CALLED
					;*BY THE "EMT" INSTRUCTION.
					
					;	ROUTINE
					;	-------
	123106	123012			$EMTAD:	$FATAL		;EMT + 0
	123110	115230				$ERRHLT		; 1
	123112	115220				$PRGHLT		; 2
	123114	107030				$RUNLP		; 3
	123116	120146				$TTILIN		; 4	
	123120	117620				$TTICHR		; 5
	123122	117652				$TTLOOK		; 6
	123124	121072				$TTIOCT		; 7
	123126	122406				$TTCOCT		;EMT + 10
	123130	121230				$TTIDEC		; 11	
	123132	117744				$TTIYES		; 12
	123134	117700				$TTALTM		; 13
	123136	121342				$TTI36		; 14	
	123140	122164				$TTIBRK		; 15
	123142	122200				$TTSDL		; 16
	123144	122432				$TTSDO		; 17
	123146	122444				$TTS36		;EMT + 20
	123150	122456				$TICRA		; 21
	123152	122324				$TTITRM		; 22
	123154	122330				$TTBTRM		; 23
	123156	115520				$PNTAL		; 24	
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 225
	SUB11 PAL[KL,SYS]	Page 36.1 	EMT TABLE

	123160	122532				$$PMSG		; 25
	123162	122524				$$PMSR		; 26
	123164	115622				$PNTCHR		; 27
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 226
	SUB11 PAL[KL,SYS]	Page 37 	EMT TABLE

	123166	115612				$PNTNBR		;EMT + 30
	123170	116740				$PCRLF		; 31
	123172	115632				$PSPACE		; 32
	123174	115640				$PSLASH		; 33
	123176	115646				$PCOMMA		; 34
	123200	117364				$PNTOCT		; 35
	123202	117372				$PNTOSC		; 36	
	123204	117474				$PNTDEC		; 37
	123206	117112				$PNT18		;EMT + 40
	123210	117126				$PNT23		; 41
	123212	117152				$PNT36		; 42
	123214	120044				$PFORCE		; 43
	123216	120052				$PNORML		; 44	
	123220	116746				$PBELL		; 45
	123222	116770				$PNTODC		; 46
	123224	116756				$PODT		; 47
	123226	122626				$REGSAV		;EMT + 50	
	123230	122642				$REGRST		; 51
	123232	125314				$CMP36		; 52	
	123234	122472				$SHFTR		; 53
	123236	122510				$SHFTL		; 54
	123240	124044				$SETFLG		; 55
	123242	122562				$DELAY		; 56
	123244	120024				$SWITCH		; 57	
	123246	120036				$SWTSAM		;EMT + 60
	123250	115216				$EOP		; 61	
	123252	115216				$ERREOP		; 62
	123254	115216				$EOPSET		; 63
					.IF DF MONASB
						$COMLIN		; 64
						$COMSND		; 65
						$COMACK		; 66
						$COMNAK		; 67
						$COMCLR		;EMT + 70
						$COMCTL		; 71
					.IFF
		000006			.REPT 6
						$FATAL		;64-71
					.ENDR
	123256	123012				$FATAL		;64-71
	123260	123012				$FATAL		;64-71
	123262	123012				$FATAL		;64-71
	123264	123012				$FATAL		;64-71
	123266	123012				$FATAL		;64-71
	123270	123012				$FATAL		;64-71
					.ENDC
	123272	122056				$MULTP		; 72	
	123274	142364				$WCRAM		; 73
	123276	142674				$RCRAM		; 74
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 227
	SUB11 PAL[KL,SYS]	Page 37.1 	EMT TABLE

	123300	142232				$WWADR		; 75
	123302	141766				$MRESET		; 76	
	123304	125614				$TENSP		; 77
	123306	125376				$SM		;EMT + 100
	123310	125472				$XCT		; 101
	123312	144242				$LODAR		; 102
	123314	124320				$EXAM		; 103
	123316	124312				$EXAMT		; 104
	123320	124236				$DPOS		; 105
	123322	124232				$DPOST		; 106
	123324	125146				$DPOSVR		; 107
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 228
	SUB11 PAL[KL,SYS]	Page 38 	EMT TABLE

	123326	125142				$DPSVT		;EMT + 110
	123330	124202				$D10MON		; 111
	123332	124142				$D10ZRO		; 112
	123334	141046				$DTEBAS		; 113
	123336	141254				$DFXCT		; 114
	123340	141224				$DXCTT		; 115
	123342	141070				$DFRD		; 116
	123344	141700				$DFRDMV		; 117	
	123346	141510				$DFWRT		;EMT + 120
	123350	141470				$DFWIR		; 121
	123352	141240				$DFSCLK		; 122
	123354	144550				$DFPC		; 123
	123356	144566				$DFVMA		; 124
	123360	144574				$DFADB		; 125
	123362	143450				$RDRAM		; 126
	123364	143400				$WDRAM		; 127
	123366	143620				$DRAMAD		;EMT + 130
	123370	144052				$BURST		; 131
	123372	103600				$PNTCPU		; 132
	123374	101452				$PRGCMD		; 133	
	123376	117142				$P36B		; 134
	123400	125542				$ECLOK		; 135
	123402	123606				$ESYNC		; 136
	123404	117044				$PADR		; 137
	123406	141056				$DFRDT		;EMT + 140
	123410	141730				$DWRTT		; 141
	123412	126500				$PCRAM		; 142
	123414	127576				$PDRAM		; 143
	123416	120006				$TTBACK		; 144
	123420	111762				$TENSW		; 145
	123422	117344				$PROL36		; 146
	123424	144336				$SETMPH		; 147
	123426	144542				$DFVMH		;EMT + 150
	123430	116036				$PRINTT		; 151
	123432	116172				$PTTY		; 152
					
					.IF DF LPTASB
						$PLPT		; 153
					.IFF
	123434	123012				$FATAL
					.ENDC
					
	123436	115662				$PLDBUF		; 154
	123440	134166				$R50UPK		; 155
	123442	134132				$DTINIT		; 156
					
					.IF DF RPASB
						$RPINIT		; 157
					.IFF
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 229
	SUB11 PAL[KL,SYS]	Page 38.1 	EMT TABLE

	123444	123012				$FATAL
					.ENDC
					
	123446	134030				$DVDATA		;EMT + 160
	123450	134476				$DTREAD		; 161
					
					.IF DF RPASB
						$RPREAD		; 162
					.IFF
	123452	123012				$FATAL
					.ENDC
					
	123454	133770				$DVFRAM		; 163
	123456	134106				$DVWRD		; 164
	123460	135122				$ASCR50		; 165
					
					.IF DF RPASB
						$RPLOAD		; 166
						$RPFIND		; 167
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 230
	SUB11 PAL[KL,SYS]	Page 39 	EMT TABLE

						$RPLKUP		;EMT + 170
						$RPRDFL		; 171
						$RPWRFL		; 172
						$RPWRIT		; 173
						$RPADDR		; 174
						$RPBASE		; 175
					.IFF
		000010			.REPT 8
						$FATAL
					.ENDR
	123462	123012				$FATAL
	123464	123012				$FATAL
	123466	123012				$FATAL
	123470	123012				$FATAL
	123472	123012				$FATAL
	123474	123012				$FATAL
	123476	123012				$FATAL
	123500	123012				$FATAL
					.ENDC
					
	123502	112106				$TENCHR		; 176
	123504	115766				$PNTBAK		; 177
	123506	122420				$TOCTE		;EMT + 200
	123510	122336				$TTERM		; 201
	123512	144042				$CLKPRM		; 202
	123514	143242				$MICNUL		; 203
	123516	143330				$MICFIL		; 204
	123520	134504				$DTWRT		; 205
	123522	130676				$NAMEXT		; 206
	123524	133426				$DTAFILE	; 207
					
					.IF DF RPASB
						$RPFILE		;EMT + 210
					.IFF
	123526	123012				$FATAL
					.ENDC
					
	123530	134366				$DTRDFL		; 211
	123532	134442				$DTWTFL		; 212
	123534	134470				$DTBASE		; 213
	123536	122542				$PNTCI		; 214
	123540	116020				$PNTRST		; 215
	123542	101444				$PRGNPT		; 216
	123544	116004				$TTPINI		; 217
					.IF DF MONASB
						$COMCMD		;EMT + 220
						$CMRTRY		; 221
						$COMENQ		; 222
						$COMEOT		; 223
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 231
	SUB11 PAL[KL,SYS]	Page 39.1 	EMT TABLE

					.IFF
		000004			.REPT 4
						$FATAL
					.ENDR
	123546	123012				$FATAL
	123550	123012				$FATAL
	123552	123012				$FATAL
	123554	123012				$FATAL
					.ENDC
	123556	120140				$TTILNW		; 224
	123560	101636				$TTICCL		; 225
	123562	104276				$DFLEGAL	; 226
	123564	115654				$PTAB		; 227
					
					.IF DF RXASB
						$RXFILE		;EMT + 230
						$RXINIT		; 231
						$RXRDFL		; 232
						$RXWTFL		; 233
						$RXBASE		; 234
						$RXREAD		; 235
						$RXWRT		; 236
					.IFF
		000007			.REPT 7
						$FATAL
					.ENDR
	123566	123012				$FATAL
	123570	123012				$FATAL
	123572	123012				$FATAL
	123574	123012				$FATAL
	123576	123012				$FATAL
	123600	123012				$FATAL
	123602	123012				$FATAL
					.ENDC
					
					.IF DF RPASB
						$RPERR		; 237
					.IFF
	123604	123012				$FATAL
					.ENDC
					
		123606			$EMTAE=.
					
					$ESYNC:	PUSH	R0
	123610	000137	122776			JMP	$NOTAS
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 232
	SUB11 PAL[KL,SYS]	Page 40 	POWER DOWN AND UP ROUTINES

					.SBTTL	POWER DOWN AND UP ROUTINES
					
	123614	012737	123626	000024	$PWRDN:	MOV	#$PWRUP,@#PWRVEC	;SET UP VECTOR
	123622	000000			$ILLUP:	HALT
	123624	000776				BR	$ILLUP			;HANG UP
					
					;POWER UP ROUTINE
					
	123626	012737	000140	177776	$PWRUP:	MOV	#CPUPR,PS		;SET CPU PRIORITY
	123634	012706	157776			MOV	#STACK,SP		;SET SP 
					.LIF DF SAILVR
	123640	004737	125744			JSR PC,CLKSTA			;START CLOCK
	123644	005005				CLR	R5			;WAIT LOOP FOR THE TTY
	123646	005205			1$:	INC	R5			;WAIT FOR THE INC
	123650	001376				BNE	1$			;OF  WORD
	123652	012737	123614	000024		MOV	#$PWRDN,@#PWRVEC	;SET UP THE POWER DOWN VECTOR
	123660	005037	077776			CLR	CONSOL-2
	123664	005037	157304			CLR	LPTFLG			;DISCONNECT LINE PRINTER
					.IF NDF TELASB
						CLR	DL11EFLG		;DISCONNECT KLINIK !!!
					.IFF
	123670	005037	152256			CLR FSFLG
	123674	012777	000004	754126		MOV #DLRTS,@$FSTKS
	123702	012700	116100			MOV #40000.,R0			;40000*2.36USEC = 94.4 MS
	123706	077001				SOB R0,.			;WAIT FOR DATA SET TO HANG UP
	123710	052777	000046	754112		BIS #DLRTS!DLDTR!DLDIE,@$FSTKS	;SET DATA TERM READY AND DATA SET INT ENB
							;LEAVE REQUEST TO SEND UP ALTHOUGH WE DON'T USE IT
					.ENDC
	123716	005237	157312			INC	$PWRCNT			;COUNT POWER RESTARTS
					
					.IF NDF SAILVR
						MOV	#KWLKS,R3
						CLR	R5
					10$:	TSTB	(R3)		;WAIT FOR CLOCK TICK
						BPL	10$
						BIC	#200,(R3)
					.IFF
	123722	005037	157160			CLR	CLKFLG
	123726	005737	157160		10$:	TST	CLKFLG
	123732	001775				BEQ	10$
	123734	005037	157160			CLR	CLKFLG
					.ENDC
	123740	005205				INC	R5		;COUNT IT
	123742	020527	000454			CMP	R5,#<5.*60.>	;WAITED 5 SEC FOR TTY POWER ?
	123746	003767				BLE	10$		;NOT YET
						PMSG	<\"POWER RESTART" >
	123750	104025				  $PMSG
	123752	146275				  $$CLIT
	123754	013700	157312			MOV	$PWRCNT,R0
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 233
	SUB11 PAL[KL,SYS]	Page 40.1 	POWER DOWN AND UP ROUTINES

	123760	104037				PNTDEC
	123762	104031				PCRLF
	123764	005005				CLR	R5		;CLEAR TIME-UP COUNTER
	123766	004737	120666		2$:	JSR	PC,$TIRDY	;ANY OPERATOR INTERRUPT ?
	123772	103407				BCS	3$		;NO
	123774	113704	147764			MOVB	$TICHR,R4	;YES, GET CHAR
	124000	142704	000200			BICB	#200,R4
	124004	122704	000003			CMPB	#CNTRLC,R4	;IS IT CONTROL C ?
	124010	001407				BEQ	4$		;YES, ABORT TIME-UP WAIT
					3$:
					.IF NDF SAILVR
						TSTB	(R3)		;CLOCK SET ?
						BPL	2$		;NO
						BIC	#200,(R3)
					.IFF
	124012	005737	157160			TST CLKFLG
	124016	001763				BEQ 2$
					.ENDC
	124020	005205				INC	R5		;COUNT CLOCK TICK
	124022	020527	000454			CMP	R5,#<5.*60.>	;WAITED 5 SECONDS FOR KL10 ?
	124026	003757				BLE	2$		;NOT YET
	124030	000137	100000		4$:	JMP	START
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 234
	SUB11 PAL[KL,SYS]	Page 41 	EXIT SUBROUTINE

					.SBTTL	EXIT SUBROUTINE
					
	124034	052766	000001	000014	$EXITE:	BIS	#CBIT,14(SP)	;SET C-BIT ERROR
	124042	000407				BR	$EXIT
					
	124044	017701	023604		$SETFLG:MOV	@$EMADR,R1		;SET -1 TO FLAG WORD
	124050	012711	777777			MOV	#-1,(R1)
					
	124054	062766	000002	000012	$EXITS:	ADD	#2,12(SP)		;SKIP RETURN
					$EXIT:	POP	<R5,R4,R3,R2,R1>
	124074	000006			1$:	RTT				;RETURN TO USER
					
					;MEMORY PARITY
					
	124076	005737	147632		MEMPE:	TST	MEMPEF		;BEEN HERE ALREADY ?
	124102	100001				BPL	1$
	124104	104000				FATAL			;YES
	124106	005137	147632		1$:	COM	MEMPEF		;SET FLAG
	124112	042737	000001	172100		BIC	#MMPIE,MMLPBA	;CLEAR ENABLE
	124120	032737	100000	172100		BIT	#MMERRF,MMLPBA	;ERROR SET ?
	124126	001001				BNE	2$
	124130	104000				FATAL			;NO, HOW DID THIS GET HERE ?
					2$:	PMSG	<?PARITY>
	124132	104025				  $PMSG
	124134	146317				  $$CLIT
	124136	000137	100004			JMP	$CNTLC
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 235
	SUB11 PAL[KL,SYS]	Page 42 	PDP10 OPERATIONS

					.SBTTL	PDP10 OPERATIONS
					
					;PDP-10 MEMORY ZERO
					; R0 = COUNT, R1 = POINTER TO START ADDRESS
					
	124142	010005			$D10ZRO: MOV	R0,R5		;SAVE COUNT
	124144	005305				DEC	R5
	124146	012704	147724			MOV	#.DPXAD,R4
	124152	112124				MOVB	(R1)+,(R4)+
	124154	112124				MOVB	(R1)+,(R4)+
	124156	111114				MOVB	(R1),(R4)
	124160	005744				TST	-(R4)
	124162	005077	033140			CLR	@.DAT1		;CLEAR DTE20 DATA WORDS
	124166	005077	033132			CLR	@.DAT2
	124172	005077	033124			CLR	@.DAT3
					
	124176	010401			$D10ZX: MOV	R4,R1		;POINTER TO ADDRESS
	124200	000440				BR	$DPSX1
					
					;PDP-10 SET -1 TO FLAG WORD
					; ADDRESS IN TRAILING PARAMETER
					
	124202	012701	147722		$D10MON: MOV	#L10ADR+2,R1	;SETUP 10 ADR BLOCK POINTER
	124206	005011				CLR	(R1)
	124210	017741	023440			MOV	@$EMADR,-(R1)	;PUT 10 ADR IN ADR BLOCK
	124214	012700	100056			MOV	#TENMO,R0	;SETUP -1 DATA WORD
	124220	062766	000002	000012		ADD	#2,12(SP)	;SKIP RETURN OVER TRAILING PARAMETER
	124226	005005				CLR	R5
	124230	000405				BR	$DPOSX
					
					;EXAMINE AND DEPOSIT 10 MEMORY
					
	124232	004737	125350		$DPOST:	JSR PC,$10ADR		;SETUP PARAMETERS
					
	124236	005005			$DPOS:	CLR R5
	124240	004737	125070			JSR PC,$D10ADR		;SETUP PDP-10 ADDRESS
	124244	012702	147712		$DPOSX:	MOV #$TEMP0,R2		;STUFF THE DEXWRDS
	124250	112022				MOVB (R0)+,(R2)+
	124252	112022				MOVB (R0)+,(R2)+
	124254	112022				MOVB (R0)+,(R2)+
	124256	112022				MOVB (R0)+,(R2)+
	124260	112022				MOVB (R0)+,(R2)+
	124262	111022				MOVB (R0),(R2)+
	124264	042742	177760			BIC #177760,-(R2)
	124270	013703	157326			MOV .DAT1,R3
	124274	011213				MOV (R2),(R3)		;BITS 00-03 TO .DAT1
	124276	014243				MOV -(R2),-(R3)		;BITS 04-19 TO .DAT2
	124300	014243				MOV -(R2),-(R3)		;BITS 20-35 TO .DAT3
	124302	052761	010000	000002	$DPSX1:	BIS #DEP,2(R1)		;SET FLAG
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 236
	SUB11 PAL[KL,SYS]	Page 42.1 	PDP10 OPERATIONS

	124310	000414				BR $EXDEP
					
	124312	004737	125350		$EXAMT:	JSR PC,$10ADR		;SETUP PARAMETERS
	124316	000405				BR $EXAMX
					
					;EXAMINE 10 CORE.  R0 POINTS TO 2 WORDS CONTAINING THE 10 ADDRESS
					;	(BITS 20:35 IN FIRST WORD, 14:19 IN SECOND WORD)
					;	RESULT RETURNED IN $DRAM (20:35), $DRAM+2 (4:19), $DRAM+4 (0:3)
	124320	010001			$EXAM:	MOV R0,R1	
	124322	004737	125070			JSR PC,$D10ADR		;SETUP PDP-10 ADDRESS
	124326	012700	147502			MOV #$DRAM,R0
	124332	005005			$EXAMX:	CLR R5
	124334	042761	010000	000002		BIC #DEP,2(R1)		;CLEAR FLAG BIT
	124342	012777	000020	033004	$EXDEP:	MOV #EBUSPC,@.STDTE	;E-BUS PARITY CLEAR
					
		000001			.IF EQ EPTREL
						BIS #PHYS!PRTOFF,2(R1)
					.IFF
	124350	053761	147444	000002		BIS $TADSP,2(R1)	;$TADSP DESIGNATES ADDR MODE
	124356	012737	104000	147444		MOV #PHYS!PRTOFF,$TADSP	;RESET ADDR MODE FOR NEXT EXDEP
					.ENDC
	124364	005737	147604			TST VRBFLG
	124370	001425				BEQ 70$
	124372	032777	002000	032750		BIT #KLRUN,@.DIAG1
	124400	001021				BNE 70$
						PUSH R0
						PUSH @.DAT1		;IF VERBOSE AND KL IS NOT RUNNING THEN USE
						PUSH @.DAT2		;APR FLAGS TO DETERMINE NXM, ETC.
						PUSH @.DAT3
	124420	012700	125062			MOV #$$CLRF,R0
	124424	104101				EXCT			;EXECUTE A CONO APR,23400 TO CLR NXM,IOPGF,MB PAR
						POP @.DAT3
						POP @.DAT2
						POP @.DAT1
						POP R0
	124444	016177	000002	032656	70$:	MOV 2(R1),@.TENA1
	124452	011177	032654			MOV (R1),@.TENA2	;START DTE20
	124456	013746	100104			MOV EMTIMO,-(SP)	;SET TIMEOUT COUNT
	124462	032777	000004	032664	93$:	BIT #DEXDON,@.STDTE	;TEST BIT
	124470	001034				BNE 94$			;LEAVE IF NOW A ONE(OK)
	124472	005316				DEC (SP)		;DECREMENT COUNT
	124474	001372				BNE 93$			;CONTINUE LOOP
	124476	005737	147752			TST RPTFLG		;OTHERWISE TIMEOUT
	124502	001027				BNE 94$			;UNLESS UNDER REPEAT
	124504	005737	147604			TST VRBFLG
	124510	001416				BEQ 95$
						PUSH R0
						PMSG <EXAM/DEPOSIT TIMEOUT, ADDRESS = >
	124514	104025				  $PMSG
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 237
	SUB11 PAL[KL,SYS]	Page 42.2 	PDP10 OPERATIONS

	124516	146327				  $$CLIT
	124520	010100				MOV R1,R0
						PUSH 2(R0)
	124526	042760	177700	000002		BIC #177700,2(R0)
	124534	104137				PNTADR
	124536	104031				PCRLF
						POP 2(R1)
						POP R0
	124546	005037	147710		95$:	CLR TENRUN		;CLEAR TEN RUNNING
	124552	005005				CLR R5			;CLEAR BLOCK ZERO INDICATOR
	124554	052766	000001	000016		BIS #CBIT,16(SP)
	124562	005737	147604		94$:	TST VRBFLG
	124566	001475				BEQ 96$
	124570	032777	002000	032552		BIT #KLRUN,@.DIAG1
	124576	001071				BNE 96$			;KL IS STILL RUNNING
						PUSH R0
						PUSH @.DAT1
						PUSH @.DAT2
						PUSH @.DAT3
	124616	012746	000000			MOV #0,-(SP)		;PUSH FLAG
	124622	012700	000110			MOV #110,R0
	124626	104116				DFRD			;BIT 7 IS APR NXM ERR IN
	124630	032777	010000	032466		BIT #BIT12,@.DAT2	;BITS 4-19 (TEST BIT 7)
	124636	001403				BEQ 89$			;BRANCH IF NOT SET
	124640	005216				INC (SP)		;INC FLAG
						PMSG <MBOX DETECTED NXM\>
	124642	104025				  $PMSG
	124644	146370				  $$CLIT
	124646	032777	002000	032450	89$:	BIT #BIT10,@.DAT2	;TEST BIT 9
	124654	001403				BEQ 88$			;EBUS BIT 9 IS APR MB PAR ERR IN
	124656	005216				INC (SP)
						PMSG <MB PARITY ERROR DETECTED\>
	124660	104025				  $PMSG
	124662	146413				  $$CLIT
	124664	032777	004000	032432	88$:	BIT #BIT11,@.DAT2	;TEST BIT 8
	124672	001403				BEQ 87$			;EBUS BIT 8 IS APR I/O PF ERR IN
	124674	005216				INC (SP)
						PMSG <IOPGF (PROB AR PAR ERR) DETECTED\>
	124676	104025				  $PMSG
	124700	146445				  $$CLIT
	124702	005726			87$:	TST (SP)+		;TEST AND FLUSH FLAG, ZERO IF NO ERRORS DETECTED
	124704	001417				BEQ 86$			;BRANCH IF NO ERRORS
	124706	005737	147752			TST RPTFLG
	124712	001414				BEQ 86$
						PMSG <ADDR = >		;ERROR UNDER REPEAT, GIVE ADDRESS
	124714	104025				  $PMSG
	124716	146507				  $$CLIT
	124720	010100				MOV R1,R0
						PUSH 2(R0)
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 238
	SUB11 PAL[KL,SYS]	Page 42.3 	PDP10 OPERATIONS

	124726	042760	177700	000002		BIC #177700,2(R0)
	124734	104137				PNTADR
	124736	104031				PCRLF
						POP 2(R1)
					86$:	POP @.DAT3
						POP @.DAT2
						POP @.DAT1
						POP R0
	124762	005726			96$:	TST (SP)+		;RESET STACK
	124764	032761	010000	000002		BIT #DEP,2(R1)
	124772	001020				BNE 1$			;DEPOSIT BRANCHES
						PUSH R0
	124776	013703	157322			MOV .DAT3,R3
	125002	012320				MOV (R3)+,(R0)+		;BITS 20-35 FROM .DAT3
	125004	012320				MOV (R3)+,(R0)+		;BITS 04-19 FROM .DAT2
	125006	011310				MOV (R3),(R0)		;BITS 00-03 FROM .DAT1
	125010	042710	177760			BIC #177760,(R0)
						POP R0
	125016	032777	000020	032330		BIT #BPARER,@.STDTE	;E-BUS PARITY ERROR ?
	125024	001403				BEQ 1$			;NO
	125026	052766	000017	000014		BIS #CBIT!VBIT!NBIT!ZBIT,14(SP) ;SET ALL COND BITS
	125034	005705			1$:	TST R5			;EXAM, DPOS OR FINISHED BLOCK ZERO ?
	125036	001407				BEQ 2$			;YES
	125040	005305				DEC R5			;BLOCK ZERO, DECREMENT COUNT
	125042	062714	000001			ADD #1,(R4)		;INCREMENT PDP-10 ADDRESS
	125046	005564	000002			ADC 2(R4)
	125052	000137	124176			JMP $D10ZX		;CLEAR NEXT WORD
					2$:	EXIT
	125056	000137	124062			  JMP	$EXIT
					
					$$CLRF:	IO10 CONO,APR,,23400	;CLEAR APR NXM, IO PG FAIL, MB PAR ERR
		000000				  .IIF B ,I=0
						  .IIF NB ,I=
		000000				  .IIF B ,XR=0
						  .IIF NB ,XR=
		000002					BLKO=2
		000003					DATAO=3
		000000					BLKI=0
		000001					DATAI=1
		000004					CONO=4
		000005					CONI=5
		000006					CONSZ=6
		000007					CONSO=7
		000000					APR=0
		000004					PI=4
		000010					PAG=10
		000014					CCA=14
		000000					ADH=0
		000000					ADL=0
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 239
	SUB11 PAL[KL,SYS]	Page 42.4 	PDP10 OPERATIONS

						  .IRPC AD1,23400
						  .IIF GE <ADL-10000>,ADH=ADL/10000
						  ADL=10*<ADL&7777>+AD1
						  .ENDM
		770000				  .IIF GE <ADL-10000>,ADH=ADL/10000
		000002				  ADL=10*<ADL&7777>+2
		770002				  .IIF GE <ADL-10000>,ADH=ADL/10000
		000023				  ADL=10*<ADL&7777>+3
		770023				  .IIF GE <ADL-10000>,ADH=ADL/10000
		000234				  ADL=10*<ADL&7777>+4
		770234				  .IIF GE <ADL-10000>,ADH=ADL/10000
		002340				  ADL=10*<ADL&7777>+0
		772340				  .IIF GE <ADL-10000>,ADH=ADL/10000
		023400				  ADL=10*<ADL&7777>+0
		125070			.EVEN
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 240
	SUB11 PAL[KL,SYS]	Page 43 	PDP10 OPERATIONS

	125070	012704	147720		$D10ADR:MOV	#L10ADR,R4
	125074	112124				MOVB	(R1)+,(R4)+
	125076	112124				MOVB	(R1)+,(R4)+
	125100	111114				MOVB	(R1),(R4)
	125102	042714	177700			BIC	#177700,(R4)
	125106	012701	147720			MOV	#L10ADR,R1
	125112	000207				RTS	PC
					
					
	125114	   077		
	125115	   105		
	125116	   055		
	125117	   102		
	125120	   125		
	125121	   123		
	125122	   040		
	125123	   120		
	125124	   101		
	125125	   122		
	125126	   111		
	125127	   124		
	125130	   131		
	125131	   040		
	125132	   105		
	125133	   122		
	125134	   122		
	125135	   117		
	125136	   122		
	125137	   040		
	125140	   000		
					$EBPAR:	.ASCIZ/?E-BUS PARITY ERROR /
		125142			.EVEN
					
	125142	004737	125350		$DPSVT:	JSR	PC,$10ADR	;SETUP PARAMETERS
					
					$DPOSVR:PUSH R0
					.IIF NZ EPTREL,	PUSH $TADSP		;PUSH ADDRESS SPACE
	125154	104105				DPOS
	125156	103417				 BCS $DPVRP
					.IIF NZ EPTREL,	POP $TADSP		;USE SAME ADDRESS SPACE FOR VERIFY
	125164	010100				MOV R1,R0
	125166	104103				EXAM
	125170	103417				 BCS $DPVRE
	125172	011600				MOV (SP),R0
						PUSH R1				;SAVE ADDRESS
	125176	012701	147502			MOV #$DRAM,R1
	125202	104052				CMPR36
	125204	103415				BCS $DPVRV			;VERIFY ERROR
					$DPVRY:	POP R1
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 241
	SUB11 PAL[KL,SYS]	Page 43.1 	PDP10 OPERATIONS

					$DPVRX:	POP R0
						EXIT
	125212	000137	124062			  JMP	$EXIT
					
					$DPVRP:					;DEPOSIT HALF OF DEPOSIT VERIFY LOST.
	125216	005726			.IIF NZ EPTREL, TST (SP)+		;ADJUST STACK (REMOVE ADDR. SPACE)
	125220	052766	000011	000016		BIS #CBIT!NBIT,16(SP)
	125226	000770				BR $DPVRX			;NO, JUST GIVE ERROR RETURN
					
	125230	052766	000005	000016	$DPVRE:	BIS #CBIT!ZBIT,16(SP)		;EXAMINE HALF OF DEPOSIT VERIFY LOST
	125236	000764				BR $DPVRX
					
	125240	052766	000003	000020	$DPVRV:	BIS #CBIT!VBIT,20(SP)		;SET C & V FOR VERIFY ERROR
	125246	005737	147604			TST VRBFLG
	125252	001755				BEQ $DPVRY
						PMSG <\ADDRESS = >
	125254	104025				  $PMSG
	125256	146517				  $$CLIT
						POP R0
	125262	104137				PNTADR
						PMSG <DEPOSIT DATA = >
	125264	104025				  $PMSG
	125266	146533				  $$CLIT
						POP R0
	125272	104042				PNT36
						PMSG < EXAMINE DATA = >
	125274	104025				  $PMSG
	125276	146553				  $$CLIT
	125300	012700	147502			MOV #$DRAM,R0
	125304	104042				PNT36
	125306	104031				PCRLF
						EXIT
	125310	000137	124062			  JMP	$EXIT
					
					;5-BYTE COMPARE ROUTINE, C & V BIT SET IF ERROR
					
					$CMP36:	PUSH	R1
	125316	012702	000005			MOV	#5,R2
	125322	122021			1$:	CMPB	(R0)+,(R1)+
	125324	001003				BNE	2$
	125326	005302				DEC	R2
	125330	001374				BNE	1$
	125332	000403				BR	3$
	125334	052766	000003	000016	2$:	BIS	#CBIT!VBIT,16(SP)	;SET C & V FOR VERIFY ERROR
					3$:	POP	R0			;POINT TO ACTUAL
						EXIT
	125344	000137	124062			  JMP	$EXIT
					
					;PDP-10 ADDRESS PARAMETER SETUP
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 242
	SUB11 PAL[KL,SYS]	Page 43.2 	PDP10 OPERATIONS

					
	125350	013705	147654		$10ADR:	MOV	$EMADR,R5	;SETUP TRAILING PARAMETER PICKUP
	125354	012701	147722			MOV	#L10ADR+2,R1	;SETUP 10 ADR BLOCK POINTER
	125360	005011				CLR	(R1)		;CLEAR HI ADR
					
	125362	012541				MOV	(R5)+,-(R1)	;SETUP PDP-10 ADDRESS
	125364	011500				MOV	(R5),R0		;POINTER TO DATA BLOCK IN R0
	125366	062766	000004	000014		ADD	#4,14(SP)	;RETURN OVER TRAILING PARAMETERS
	125374	000207				RTS	PC
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 243
	SUB11 PAL[KL,SYS]	Page 44 	PDP10 OPERATIONS

					;START MICROCODE
					
					$SM:	PUSH	R0
	125400	104076				MRESET			;RESET KL10
	125402	005000				CLR	R0		;SELECT UCODE START ADR
	125404	104075				WWADR
	125406	104115				DFXCTT			;GET CLOCK GOING
	125410	000001				  STRCLK
					
	125412	012701	000002			MOV	#2,R1
	125416	012700	125460			MOV	#$SMTAB,R0
					1$:	PUSH	R0
	125424	104101				EXCT			;DO TEN INSTR
	125426	103410				 BCS	2$
						POP	R0
	125432	062700	000005			ADD	#5,R0		;NEXT
	125436	005301				DEC	R1
	125440	001370				BNE	1$
					
						POP	R0
						EXIT
	125444	000137	124062			  JMP	$EXIT
					
					2$:	POP	R0
						POP	R0
					$SMERR:	EXITERR
	125454	000137	124034			  JMP	$EXITE
					
					$SMTAB:	IO10	CONO,APR,,200000	;IO SYS CLEAR
		000000				  .IIF B ,I=0
						  .IIF NB ,I=
		000000				  .IIF B ,XR=0
						  .IIF NB ,XR=
		000002					BLKO=2
		000003					DATAO=3
		000000					BLKI=0
		000001					DATAI=1
		000004					CONO=4
		000005					CONI=5
		000006					CONSZ=6
		000007					CONSO=7
		000000					APR=0
		000004					PI=4
		000010					PAG=10
		000014					CCA=14
		000000					ADH=0
		000000					ADL=0
						  .IRPC AD1,200000
						  .IIF GE <ADL-10000>,ADH=ADL/10000
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 244
	SUB11 PAL[KL,SYS]	Page 44.1 	PDP10 OPERATIONS

						  ADL=10*<ADL&7777>+AD1
						  .ENDM
		770000				  .IIF GE <ADL-10000>,ADH=ADL/10000
		000002				  ADL=10*<ADL&7777>+2
		770002				  .IIF GE <ADL-10000>,ADH=ADL/10000
		000020				  ADL=10*<ADL&7777>+0
		770020				  .IIF GE <ADL-10000>,ADH=ADL/10000
		000200				  ADL=10*<ADL&7777>+0
		770200				  .IIF GE <ADL-10000>,ADH=ADL/10000
		002000				  ADL=10*<ADL&7777>+0
		772000				  .IIF GE <ADL-10000>,ADH=ADL/10000
		020000				  ADL=10*<ADL&7777>+0
		000002				  .IIF GE <ADL-10000>,ADH=ADL/10000
		000000				  ADL=10*<ADL&7777>+0
						IO10	CONO,PI,,10000		;PI SYS CLEAR
		000000				  .IIF B ,I=0
						  .IIF NB ,I=
		000000				  .IIF B ,XR=0
						  .IIF NB ,XR=
		000002					BLKO=2
		000003					DATAO=3
		000000					BLKI=0
		000001					DATAI=1
		000004					CONO=4
		000005					CONI=5
		000006					CONSZ=6
		000007					CONSO=7
		000000					APR=0
		000004					PI=4
		000010					PAG=10
		000014					CCA=14
		000000					ADH=0
		000000					ADL=0
						  .IRPC AD1,10000
						  .IIF GE <ADL-10000>,ADH=ADL/10000
						  ADL=10*<ADL&7777>+AD1
						  .ENDM
		770000				  .IIF GE <ADL-10000>,ADH=ADL/10000
		000001				  ADL=10*<ADL&7777>+1
		770001				  .IIF GE <ADL-10000>,ADH=ADL/10000
		000010				  ADL=10*<ADL&7777>+0
		770010				  .IIF GE <ADL-10000>,ADH=ADL/10000
		000100				  ADL=10*<ADL&7777>+0
		770100				  .IIF GE <ADL-10000>,ADH=ADL/10000
		001000				  ADL=10*<ADL&7777>+0
		771000				  .IIF GE <ADL-10000>,ADH=ADL/10000
		010000				  ADL=10*<ADL&7777>+0
		125472				.EVEN
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 245
	SUB11 PAL[KL,SYS]	Page 45 	PDP10 OPERATIONS

					;PDP-10 INSTRUCTION EXECUTE
					
	125472	104102			$XCT:	LODAR
	125474	103417				 BCS	6$
	125476	104115				DFXCTT			;SET CONTINUE BUTTON
	125500	000012				  CONBUT
	125502	104115				DFXCTT			;RUN THE CLOCK
	125504	000001				  STRCLK
					
	125506	005737	147752			TST	RPTFLG		;DOING REPEAT ?
	125512	001011				BNE	2$		;YES, NO CHECK
					
	125514	012701	001750			MOV	#1000.,R1
	125520	032777	001000	031622	4$:	BIT	#HALTLP,@.DIAG1
	125526	001003				BNE	2$
	125530	005301				DEC	R1		;NO, WAITED LONG ENOUGH
	125532	001372				BNE	4$
	125534	000747			6$:	BR	$SMERR
					
					2$:	EXIT
	125536	000137	124062			  JMP	$EXIT
					
					;ECLOK - GIVE A COMPLETE EBOX CLOCK
					
	125542	012705	007640		$ECLOK:	MOV	#4000.,R5
					
	125546	104122			91$:	DFSCLK			;STEP RAW CLOCK
	125550	104140				DFRDT			;READ CLOCK STATE
	125552	000104				104
	125554	032777	000004	031540		BIT	#BIT2,@.DAT3	;CLK E BOX SOURCE HIGH ?
	125562	001010				BNE	92$
	125564	005305				DEC	R5
	125566	001367				BNE	91$
	125570	005737	147752			TST	RPTFLG
	125574	001003				BNE	92$
	125576	052766	000001	000014		BIS	#CBIT,14(SP)	;REPORT TIMEOUT
					
	125604	104115			92$:	DFXCTT
	125606	000004				  CECLK
						EXIT
	125610	000137	124062			  JMP	$EXIT
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 246
	SUB11 PAL[KL,SYS]	Page 46 	PDP10 OPERATIONS

					;PDP-10 CONTROLLED STOP ROUTINE
					
					$TENSP:	PUSH	R0
	125616	005037	147710			CLR	TENRUN		;CLEAR LOGICAL TEN RUNNING FLAG
					;;;;;	CLR	TENCLK		;CLEAR TEN USING CLOCK FLAG
					;;;;;	DON'T CLEAR TENCLK.  YOU MIGHT WANT TO CONTINUE THE SYSTEM
					
	125622	012777	010201	031520		MOV	#DCOMST!DFUNC!<CLRRUN*1000>,@.DIAG1
	125630	004737	141412			JSR	PC,$$DFXDN	;CLEAR RUN FLOP
					
	125634	012701	001750			MOV	#1000.,R1
	125640	032777	001000	031502	1$:	BIT	#HALTLP,@.DIAG1
	125646	001003				BNE	2$		;TEN RETURNED TO HALT LOOP
	125650	005301				DEC	R1
	125652	001372				BNE	1$
	125654	000430				BR	5$		;FAILED TO RETURN TO HALT LOOP
					
	125656	104140			2$:	DFRDT
	125660	000131				  131
	125662	032777	000002	031434		BIT	#BIT1,@.DAT2	;BIT 18, CON CACHE LOOK
	125670	001417				BEQ	4$		;FALSE, CACHE IS NOT ON
					
	125672	012700	104425			MOV	#$$CF,R0
	125676	104101				EXCT			;EXECUTE CACHE FLUSH
	125700	103416				  BCS	5$		;FAILED
					
	125702	012701	001750			MOV	#1000.,R1
	125706	104140			3$:	DFRDT
	125710	000110				  110
	125712	032777	000004	031406		BIT	#BIT2,@.DAT1	;BIT 1, SWEEP BUSY ENABLE
	125720	001403				BEQ	4$		;FINISHED SWEEP
	125722	005301				DEC	R1
	125724	001370				BNE	3$
	125726	000403				BR	5$		;FAILED TO FINISH CACHE SWEEP
					
					4$:	POP	R0		;SUCESSFUL RETURN
						EXIT
	125732	000137	124062			  JMP	$EXIT
					
					5$:	POP	R0		;FAILED RETURN
						EXITERR
	125740	000137	124034			  JMP	$EXITE
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 247
	SUB11 PAL[KL,SYS]	Page 47 	CLOCK INITIALIZATION, INTERRUPTS

						.SBTTL	CLOCK INITIALIZATION, INTERRUPTS
					.IF DF SAILVR
					
					CLKSTA:	PUSH R0
	125746	012700	000100			MOV #KWLIV,R0
	125752	012720	126052			MOV #CLKINT,(R0)+
	125756	012710	000140			MOV #CPUPR,(R0)
	125762	005037	157162			CLR KTIMBS		;ASSUME WE'RE NOT KEEPING TIMEBASE
	125766	012700	157164			MOV #TIMBAS,R0
	125772	005020				CLR (R0)+
	125774	005020				CLR (R0)+
	125776	005010				CLR (R0)
	126000	012700	157172			MOV #TIM11,R0
	126004	005020				CLR (R0)+
	126006	005020				CLR (R0)+
	126010	005010				CLR (R0)
	126012	005037	157160			CLR CLKFLG
	126016	042737	000300	177546		BIC #300,KWLKS		;CLEAR CLOCK FLAG AND INTERRUPT ENABLE
	126024	105737	177546		1$:	TSTB KWLKS
	126030	100375				BPL 1$			;LOOP UNTIL CLOCK FLAG COMES ON
	126032	042737	000200	177546		BIC #200,KWLKS		;CLEAR CLOCK FLAG
	126040	052737	000100	177546		BIS #100,KWLKS		;SET INTERRUPT ENABLE.
						POP R0
	126050	000207				RTS PC
					
					
	126052	042737	000200	177546	CLKINT:	BIC #200,KWLKS		;CLEAR CLOCK FLAG
	126060	005237	157160			INC CLKFLG		;INCREMENT SOFTWARE CLOCK FLAG
	126064	005237	157172			INC TIM11
	126070	005537	157174			ADC TIM11+2
	126074	005537	157176			ADC TIM11+4
	126100	005737	152254			TST FSCLKA
	126104	001425				BEQ 3$			;NO FS CLOCK REQUESTS
	126106	023737	157176	152252		CMP TIM11+4,FSRTIM+4
	126114	003012				BGT 2$
	126116	001020				BNE 3$
	126120	023737	157174	152250		CMP TIM11+2,FSRTIM+2
	126126	003005				BGT 2$
	126130	001013				BNE 3$
	126132	023737	157172	152246		CMP TIM11,FSRTIM
	126140	002407				BLT 3$
					2$:	PUSH R0
	126144	013700	152254			MOV FSCLKA,R0
	126150	005037	152254			CLR FSCLKA
	126154	004710				JSR PC,@R0
						POP R0
	126160	005737	157162		3$:	TST KTIMBS
	126164	001406				BEQ 4$			;JUMP IF NOT KEEPING A TIMEBASE
	126166	005237	157164			INC TIMBAS
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 248
	SUB11 PAL[KL,SYS]	Page 47.1 	CLOCK INITIALIZATION, INTERRUPTS

	126172	005537	157166			ADC TIMBAS+2
	126176	005537	157170			ADC TIMBAS+4
	126202	032777	000004	751620	4$:	BIT #DLRTS,@$FSTKS	;SEE IF REQUEST TO SEND IS UP (CLEARED BY INIT)
	126210	001002				BNE 5$			;YES, HAVEN'T BEEN RESET
	126212	004737	114050			JSR PC,HANGU1
	126216	005737	157142		5$:	TST TIMFLG		;DOES KL WANT TIME/DATE FROM BATTERY CLOCK?
	126222	001406				BEQ 6$			;NO
	126224	032737	007777	157172		BIT #7777,TIM11		;IS IT TIME YET? (EVERY 10000 TICS=1.13 SECS)
	126232	001002				BNE 6$			;NO
	126234	005237	157140			INC TMSFLG		;TELL C10COP TO STORE THE TIME
	126240	000006			6$:	RTT			;DISMISS INTERRUPT
					
					.ENDC
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 249
	KLDCP PAL[KL,SYS]	Page 5.4 	CLOCK INITIALIZATION, INTERRUPTS

					
								;KL10 C-Ram/D-Ram functions
					.INSRT	FD11.PAL		
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 250
	FD11 PALII[KL,SYS]	Page 1 	CLOCK INITIALIZATION, INTERRUPTS

				COMMENT ⊗   VALID 00015 PAGES
				C REC  PAGE   DESCRIPTION
				C00001 00001
				C00003 00002	.SBTTL	CONTROL RAM CONSOLE FUNCTIONS, 9-SEPTEMBER-75
				C00004 00003	3$:	MOV	R0,$ECADR	SAVE C-RAM ADDRESS
				C00006 00004	FIELD PRINT OUT, THIS IS THE C-RAM BIT FIDDLER
				C00008 00005	READ THE C-RAM AND PRINT ACTUAL BY E-BUS ARRANGMENT
				C00009 00006		JSR	PC,$$ECA	PRINT C-RAM ADDRESS
				C00010 00007	.SBTTL	DISPATCH RAM CONSOLE FUNCTIONS
				C00011 00008		TTISDO				READ "J" FIELD
				C00012 00009		TTISDO				READ ODD "J" FIELD
				C00014 00010	EXAMINE D-RAM SUBROUTINE
				C00015 00011	PRINT D-RAM IN LOGICAL FIELD FORMAT
				C00017 00012	.SBTTL	DEPOSIT C-RAM SUBROUTINE
				C00018 00013	C-RAM PRIMARY DECISION TABLE
				C00020 00014	C-RAM SECONDARY DECISION TABLES
				C00022 00015
				C00023 ENDMK
					C⊗;
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 251
	FD11 PALII[KL,SYS]	Page 2 	CONTROL RAM CONSOLE FUNCTIONS, 9-SEPTEMBER-75

					.SBTTL	CONTROL RAM CONSOLE FUNCTIONS, 9-SEPTEMBER-75
					
	126242	104226			$EC:	DFLEGAL			;FUNCTION LEGAL ?
	126244	104016				TTISDL
	126246	103402				BCS	8$		;NON-NUMBER
					
	126250	104021			1$:	TTICRA			;READ IN C-RAM ADDRESS
	126252	000432				BR	3$
					
	126254	102005			8$:	BVC	82$
	126256	013700	147744			MOV	$ECADR,R0	;COLON, READ & LIST SAME CRAM ADDRESS
	126262	005237	150736			INC	$INPTC
	126266	000426				BR	33$
					
	126270	104023			82$:	TTBTRM
					
		126272			$ALLEC=.
	126272	104140				DFRDT			;EXAMINE PRESENT C-RAM OUTPUT
	126274	000146				RCRAM2
	126276	004737	126450			JSR	PC,$ECGET
						PUSH	$ECADR
	126306	104140				DFRDT			;READ HIGH ORDER BITS
	126310	000147				RCRAM1
						POP	R0		;LOW ORDER TO R0
	126314	004737	126450			JSR	PC,$ECGET
	126320	006300				ASL	R0		;POSITION TO 6-0
	126322	006300				ASL	R0
	126324	000300				SWAB	R0
	126326	150037	147744			BISB	R0,$ECADR	;STUFF LOW ORDER
	126332	012700	777777			MOV	#-1,R0		;-1 READS CURRENT C-RAM OUTPUT
	126336	000402				BR	33$
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 252
	FD11 PALII[KL,SYS]	Page 3 	CONTROL RAM CONSOLE FUNCTIONS, 9-SEPTEMBER-75

	126340	010037	147744		3$:	MOV	R0,$ECADR	;SAVE C-RAM ADDRESS
					
	126344	104074			33$:	RCRAM			;READ THE RAM ADDRESS
					
	126346	010037	147736			MOV	R0,$ADR1	;SAVE STARTING ADDRESS OF DATA LIST
	126352	005737	147754			TST	ALLFLG
	126356	001025				BNE	91$
	126360	104031			9$:	PCRLF			;PRINT OCTAL VALUE OF C-RAM
					
	126362	004737	127024			JSR	PC,$$ECA	;PRINT C-RAM ADDRESS
					
	126366	013705	147736			MOV	$ADR1,R5	;GET C-RAM DATA LIST ADDRESS
	126372	062705	000012			ADD	#12,R5
	126376	011504				MOV	(R5),R4		;SAVE SPEC
	126400	014500				MOV	-(R5),R0	;PRINT 1ST C-RAM WORD, LAST IN LIST
	126402	104035				PNTOCT
					
	126404	014500				MOV	-(R5),R0	;PRINT 2ND C-RAM WORD
	126406	104035				PNTOCT
					
	126410	014500				MOV	-(R5),R0	;PRINT 3RD C-RAM WORD
	126412	104035				PNTOCT
					
	126414	014500				MOV	-(R5),R0	;PRINT 4TH C-RAM WORD
	126416	104035				PNTOCT
					
	126420	014500				MOV	-(R5),R0	;PRINT 5TH C-RAM WORD
	126422	104035				PNTOCT
					
	126424	010400				MOV	R4,R0		;PRINT 6TH C-RAM WORD (SPEC)
	126426	104047				PNTODT
	126430	000002				2
					
	126432	013700	147744		91$:	MOV	$ECADR,R0
	126436	013701	147736			MOV	$ADR1,R1
	126442	104142				PNTCRM			;PRINT C-RAM BY LOGICAL FIELDS
	126444	000137	102262			JMP	ALLEXT
					
	126450	017737	030650	147744	$ECGET:	MOV	@.DAT2,$ECADR	;GET BITS 4,5
	126456	117737	030644	147744		MOVB	@.DAT1,$ECADR	;GET BITS 0-3
	126464	000337	147744			SWAB	$ECADR
	126470	042737	170077	147744		BIC	#170077,$ECADR
	126476	000207				RTS	PC
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 253
	FD11 PALII[KL,SYS]	Page 4 	CONTROL RAM CONSOLE FUNCTIONS, 9-SEPTEMBER-75

					;FIELD PRINT OUT, THIS IS THE C-RAM BIT FIDDLER
					
	126500	010037	147744		$PCRAM:	MOV	R0,$ECADR
	126504	010137	147736			MOV	R1,$ADR1
					
					91$: PMSG <\ LOC/  J  T AR  AD BR MQ FM SCAD SC FE SH  # VMA MEM COND SPEC M\>
	126510	104025				  $PMSG
	126512	146574				  $$CLIT
					
	126514	004737	127024			JSR	PC,$$ECA	;PRINT C-RAM ADDRESS
					
	126520	012705	130060		$DCTPC:	MOV	#$CRMD0,R5	;GET PRIMARY DECISION TABLE ADDRESS
	126524	005000			$DCTP1:	CLR	R0	
	126526	012504				MOV	(R5)+,R4	;R4=SECONDARY DECISION TABLE ADDRESS
	126530	001426				BEQ	$END		;WOW WE MADE IT TO THE END
					
	126532	112403			2$:	MOVB	(R4)+,R3	;GET A BYTE FROM SECONDARY TABLE
	126534	001416				BEQ	$NEXT		;GET NEXT FIELD
	126536	110302				MOVB	R3,R2		;CALCULATE BYTE LOCATION
	126540	106203				ASRB	R3		;/2
	126542	106203				ASRB	R3		;/4
	126544	106203				ASRB	R3		;/8
	126546	063703	147736			ADD	$ADR1,R3
	126552	111303				MOVB	(R3),R3		;FETCH THE DATA BYTE
	126554	142702	000370			BICB	#370,R2		;R2=BIT LOCATION
	126560	106203			3$:	ASRB	R3		;CALCULATE BIT LOCATION
	126562	005302				DEC	R2		;FOUND BIT YET
	126564	002375				BGE	3$
	126566	006100				ROL	R0		;PLACE BIT IN R0
	126570	000760				BR	2$
					
	126572	112501			$NEXT:	MOVB	(R5)+,R1	;R1=OCTAL CHARACTERS IN NUMBER
	126574	104046				PNTODC			;PRINT THE NUMBER
	126576	112501				MOVB	(R5)+,R1	;R1=POST SPACING PARAMETER
	126600	004737	117774			JSR	PC,$PNTSPC
	126604	000747				BR	$DCTP1
	126606	013705	147736		$END:	MOV	$ADR1,R5	;SPECIAL PRINT OF SPEC FIELD
	126612	116500	000012			MOVB	12(R5),R0
	126616	104047				PNTODT
	126620	000002				2
	126622	104032				PSPACE
	126624	116500	000004			MOVB	4(R5),R0
	126630	104053				SHIFTR
	126632	000004				4
	126634	042700	177776			BIC	#177776,R0
	126640	104036				PNTOCS
	126642	005737	147754			TST	ALLFLG
	126646	001401				BEQ	1$
	126650	104031				PCRLF
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 254
	FD11 PALII[KL,SYS]	Page 4.1 	CONTROL RAM CONSOLE FUNCTIONS, 9-SEPTEMBER-75

					1$:	EXIT
	126652	000137	124062			  JMP	$EXIT
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 255
	FD11 PALII[KL,SYS]	Page 5 	CONTROL RAM CONSOLE FUNCTIONS, 9-SEPTEMBER-75

					;READ THE C-RAM AND PRINT ACTUAL BY E-BUS ARRANGMENT
					
	126656	104226			$RC:	DFLEGAL			;FUNCTION LEGAL ?
	126660	104016				TTISDL
	126662	103443				BCS	3$		;NON-NUMBER
	126664	000426				BR	2$		;NUMBER, MUST BE ADDRESS
					
	126666	012700	000147		1$:	MOV	#RCRAM1,R0
	126672	004537	127006			JSR	R5,$RCP		;FIRST 36
	126676	012700	000146			MOV	#RCRAM2,R0
	126702	004537	127006			JSR	R5,$RCP		;2ND 36
	126706	012700	000145			MOV	#RCRAM3,R0
	126712	004537	127006			JSR	R5,$RCP		;3RD 36
	126716	012700	000144			MOV	#RCRAM4,R0
	126722	004537	127006			JSR	R5,$RCP		;4TH 36
	126726	005737	147752			TST	RPTFLG
	126732	001001				BNE	11$
	126734	104031				PCRLF
	126736	000137	100230		11$:	JMP	$KONSL
					
	126742	104021			2$:	TTICRA			;GET C-RAM ADDRESS
	126744	010037	147744			MOV	R0,$ECADR
	126750	013700	147744		5$:	MOV	$ECADR,R0
					
	126754	104075				WWADR			;WRITE C-RAM ADDRESS
					
	126756	104122				DFSCLK
	126760	104122				DFSCLK
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 256
	FD11 PALII[KL,SYS]	Page 6 	CONTROL RAM CONSOLE FUNCTIONS, 9-SEPTEMBER-75

	126762	004737	127024			JSR	PC,$$ECA	;PRINT C-RAM ADDRESS
	126766	104032				PSPACE
					
	126770	000736				BR	1$
					
	126772	102003			3$:	BVC	32$
	126774	005237	150736			INC	$INPTC		;COLON, READ SAME C-RAM ADDRESS
	127000	000763				BR	5$
					
	127002	104023			32$:	TTBTRM			;READ PRESENT C-RAM ADDRESS
	127004	000730				BR	1$
					
	127006	012701	147730		$RCP:	MOV	#.DFRDA,R1
	127012	104117				DFRDMV			;READ C-RAM
					
	127014	010100				MOV	R1,R0
	127016	104042				PNT36			;PRINT IT
	127020	104032				PSPACE
	127022	000205			1$:	RTS	R5
					
					;PRINT C-RAM ADDRESS
					
	127024	013700	147744		$$ECA:	MOV	$ECADR,R0
	127030	104047				PNTODT
	127032	000004				4
	127034	104033				PSLASH
	127036	000207				RTS	PC
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 257
	FD11 PALII[KL,SYS]	Page 7 	DISPATCH RAM CONSOLE FUNCTIONS

					.SBTTL	DISPATCH RAM CONSOLE FUNCTIONS
					
					;LOAD D-RAM SUBROUTINE
					
	127040	000137	113452		$DDNPR:	JMP	$PARAM
					
	127044	104226			$DD:	DFLEGAL			;FUNCTION LEGAL ?
	127046	104017				TTISDO			;GET THE ADDRESS
	127050	032700	000001			BIT	#1,R0
	127054	001005				BNE	98$		;MUST BE EVEN ADDRESS
					
	127056	010037	147740			MOV	R0,$ADR		;SAVE THE ADDRESS
					
	127062	020027	000776			CMP	R0,#776		;TEST ADDRESS SIZE
	127066	003402				BLE	2$
	127070	000137	113350		98$:	JMP	ADRERR
					
	127074	104015			2$:	TTIBRK			;READ A CHARACTER
	127076	103760				BCS	$DDNPR		;NO COLON
					
	127100	120027	000072			CMPB	R0,#':		;IS IT A COLON
	127104	001403				BEQ	21$
	127106	120027	000057			CMPB	R0,#'/
	127112	001352				BNE	$DDNPR
					
	127114	004737	127432		21$:	JSR	PC,$DDA		;READ A FIELD
	127120	010037	147502			MOV	R0,$DRAM	;STORE "A" FIELD
					
	127124	004737	127446			JSR	PC,$DDB
	127130	050037	147502			BIS	R0,$DRAM	;STORE "B" FIELD
					
	127134	104017				TTISDO			;READ "P" FIELD
	127136	042700	177776			BIC	#177776,R0	;SAVE "P" FIELD
					
	127142	104054				SHIFTL
	127144	000005				  5
	127146	050037	147502			BIS	R0,$DRAM
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 258
	FD11 PALII[KL,SYS]	Page 8 	DISPATCH RAM CONSOLE FUNCTIONS

	127152	104017				TTISDO				;READ "J" FIELD
					
	127154	020027	001777			CMP	R0,#1777
	127160	003404				BLE	3$
		127162			$DDSIZ=.
						PMSG	<\J SIZE ERR>
	127162	104025				  $PMSG
	127164	146677				  $$CLIT
	127166	000137	100004			JMP	$CNTLC
					
	127172	010037	147510		3$:	MOV	R0,$DRAM+6		;SAVE FOR COMMON
	127176	042700	177760			BIC	#177760,R0
	127202	050037	147502			BIS	R0,$DRAM		;SAVE "J" EVEN
					
					;DONE WITH EVEN NOW PROMPT FOR ODD
					
					$DRAMO:	PMSG	< DD >			;PROMPT
	127206	104025				  $PMSG
	127210	146713				  $$CLIT
	127212	013700	147740			MOV	$ADR,R0			;ODD ADDRESS
	127216	005200				INC	R0
					
	127220	104036				PNTOCS
					
						PMSG	<:←>			;PRINT COLON, OUTPUT
	127222	104025				  $PMSG
	127224	146720				  $$CLIT
					
	127226	104004				TTILIN
	127230	103703				BCS	$DDNPR
					
	127232	004737	127432			JSR	PC,$DDA			;READ ODD "A" FIELD
	127236	010037	147504			MOV	R0,$DRAM+2		;INSERT ODD "A" FIELD
					
	127242	004737	127446			JSR	PC,$DDB			;READ ODD "B" FIELD
	127246	050037	147504			BIS	R0,$DRAM+2
					
	127252	104017				TTISDO				;READ ODD "P" FIELD
					
	127254	042700	177776			BIC	#177776,R0
					
	127260	104054				SHIFTL
	127262	000005				  5
	127264	050037	147504			BIS	R0,$DRAM+2
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 259
	FD11 PALII[KL,SYS]	Page 9 	DISPATCH RAM CONSOLE FUNCTIONS

	127270	104017				TTISDO				;READ ODD "J" FIELD
					
	127272	020027	001777			CMP	R0,#1777
	127276	003331				BGT	$DDSIZ
					
	127300	010037	147512		1$:	MOV	R0,$DRAM+10		;SAVE FOR COMMON
	127304	042700	177760			BIC	#177760,R0
	127310	050037	147504			BIS	R0,$DRAM+2		;SAVE "J" ODD
	127314	042737	000017	147510		BIC	#17,$DRAM+6
	127322	042737	000017	147512		BIC	#17,$DRAM+10
	127330	023737	147510	147512		CMP	$DRAM+6,$DRAM+10  ;ARE BOTH COMMONS THE SAME ?
	127336	001410				BEQ	2$
	127340	022737	000254	147740		CMP	#254,$ADR	;IS THIS JRST/JFCL ?
	127346	001404				BEQ	2$		;YES, COMMONS MAY BE DIFFERENT
						PMSG	<\J CMN ERR>
	127350	104025				  $PMSG
	127352	146723				  $$CLIT
	127354	000137	100004			JMP	$CNTLC
					
	127360	013700	147512		2$:	MOV	$DRAM+10,R0	;USE ODD COMMON
					
						SR	R0,6
	127400	010037	147506			MOV	R0,$DRAM+4	;INSERT "J" COMMON
					
	127404	013700	147740			MOV	$ADR,R0		
	127410	012701	147502			MOV	#$DRAM,R1
					
	127414	104076				MRESET
					
	127416	104127				WDRAM			;WRITE THE D-RAM
					
	127420	104031				PCRLF
	127422	000137	100230			JMP	@#$KONSL
					
	127426	000137	113452		99$:	JMP	$OCTN
					
	127432	104017			$DDA:	TTISDO			;READ "A" FIELD
	127434	104054				SHIFTL
	127436	000013				  11.
	127440	042700	143777			BIC	#143777,R0
	127444	000207				RTS	PC
					
	127446	104017			$DDB:	TTISDO			;READ "B" FIELD
	127450	104054				SHIFTL
	127452	000010				  8.
	127454	042700	174377			BIC	#174377,R0
	127460	000207				RTS	PC
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 260
	FD11 PALII[KL,SYS]	Page 10 	DISPATCH RAM CONSOLE FUNCTIONS

					;EXAMINE D-RAM SUBROUTINE
					
	127462	000137	113452		$EDNOA:	JMP	$OCTN
	127466	000137	113350		$EDODD:	JMP	ADRERR
					
	127472	104226			$ED:	DFLEGAL			;FUNCTION LEGAL ?
	127474	104016				TTISDL
	127476	103413				BCS	5$
					
	127500	104017				TTISDO			;READ THE ADDRESS
	127502	032700	000001			BIT	#1,R0
	127506	001367				BNE	$EDODD		;MUST BE EVEN ADDRESS
	127510	010037	147742			MOV	R0,$EDADR
	127514	020027	000777		4$:	CMP	R0,#777		;TEST FOR HIGHEST ADDRESS
	127520	003414				BLE	2$
	127522	000137	113350		41$:	JMP	ADRERR
					
	127526	102005			5$:	BVC	52$
	127530	013700	147742		51$:	MOV	$EDADR,R0	;COLON, EXAMINE SAME DRAM ADDRESS
	127534	005237	150736			INC	$INPTC
	127540	000765				BR	4$
					
	127542	104023			52$:	TTBTRM
	127544	013700	147742			MOV	$EDADR,R0
	127550	000761				BR	4$
					
	127552	010037	147742		2$:	MOV	R0,$EDADR
					
	127556	104076				MRESET
					
	127560	104126				RDRAM			;READ D-RAM
					
	127562	010001				MOV	R0,R1
	127564	013700	147742			MOV	$EDADR,R0
					
	127570	104143				PNTDRM			;PRINT D-RAM
					
	127572	000137	100230			JMP	$KONSL
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 261
	FD11 PALII[KL,SYS]	Page 11 	DISPATCH RAM CONSOLE FUNCTIONS

					;PRINT D-RAM IN LOGICAL FIELD FORMAT
					
	127576	010005			$PDRAM:	MOV	R0,R5
						PMSG	<\ADR: A B P J\>
	127600	104025				  $PMSG
	127602	146736				  $$CLIT
					
	127604	016100	000004			MOV	4(R1),R0	;POSITION COMMON J-FIELD
	127610	104054				SHIFTL
	127612	000006				6			;FOR PRINTING
	127614	010002				MOV	R0,R2
					
	127616	005004				CLR	R4
					
	127620	010500			1$:	MOV	R5,R0		;PRINT D-RAM ADDRESS
	127622	104047				PNTODT
	127624	000003				3
	127626	104033				PSLASH
	127630	104032				PSPACE
					
	127632	011100				MOV	(R1),R0		;PRINT A-FIELD
	127634	104053				SHIFTR
	127636	000013				11.
	127640	104030				PNTNBR
	127642	104032				PSPACE
					
	127644	011100				MOV	(R1),R0		;PRINT B-FIELD
	127646	104053				SHIFTR
	127650	000010				8.
	127652	104030				PNTNBR
	127654	104032				PSPACE
					
	127656	011100				MOV	(R1),R0		;PRINT PARITY
	127660	104053				SHIFTR
	127662	000005				5
	127664	042700	177776			BIC	#177776,R0
	127670	104030				PNTNBR
	127672	104032				PSPACE
					
	127674	012100				MOV	(R1)+,R0	;PRINT J-FIELD
	127676	042700	177760			BIC	#177760,R0
	127702	050200				BIS	R2,R0
	127704	104047				PNTODT
	127706	000004				4
					
	127710	104031				PCRLF
	127712	005704				TST	R4		;COMPLETED D-RAM PAIR ?
	127714	001003				BNE	2$
					
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 262
	FD11 PALII[KL,SYS]	Page 11.1 	DISPATCH RAM CONSOLE FUNCTIONS

	127716	005204				INC	R4		;NO, SET FLAG
	127720	005205				INC	R5		;SETUP ODD ADDRESS
	127722	000736				BR	1$		;GO DO ODD PRINTOUT
					
					2$:	EXIT
	127724	000137	124062			  JMP	$EXIT
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 263
	FD11 PALII[KL,SYS]	Page 12 	DEPOSIT C-RAM SUBROUTINE

					.SBTTL	DEPOSIT C-RAM SUBROUTINE
					
	127730	000137	113452		$DCNCL:	JMP	$PARAM
					
	127734	104226			$DC:	DFLEGAL			;FUNCTION LEGAL ?
	127736	104021				TTICRA
	127740	010037	147740		2$:	MOV	R0,$ADR		;SAVE ADDRESS
	127744	104015				TTIBRK			;GET THE COLON
	127746	103770				BCS	$DCNCL
	127750	120027	000072			CMPB	R0,#':
	127754	001403				BEQ	20$
	127756	120027	000057			CMPB	R0,#'/
	127762	001362				BNE	$DCNCL		;NO COLON
	127764	012705	150024		20$:	MOV	#$TTSAV,R5	;CLEAR STORAGE
	127770	005025				CLR	(R5)+
	127772	005025				CLR	(R5)+
	127774	005025				CLR	(R5)+
	127776	005025				CLR	(R5)+
	130000	005025				CLR	(R5)+
	130002	005015				CLR	(R5)
	130004	012704	000005			MOV	#5,R4
	130010	104016			4$:	TTISDL
	130012	103413				BCS	3$		;USE 0'S AFTER FIRST NON-NUMBER
	130014	104010				TTCOCT
	130016	010045				MOV	R0,-(R5)
	130020	005304				DEC	R4
	130022	001372				BNE	4$
	130024	104016				TTISDL
	130026	103405				BCS	3$
	130030	104010				TTCOCT
	130032	042700	177740			BIC	#177740,R0
	130036	010037	150036			MOV	R0,$TTSAV+12
	130042	013700	147740		3$:	MOV	$ADR,R0
	130046	012701	150024			MOV	#$TTSAV,R1
	130052	104073				WCRAM
	130054	000137	100230			JMP	@#$KONSL
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 264
	FD11 PALII[KL,SYS]	Page 13 	DEPOSIT C-RAM SUBROUTINE

					;C-RAM PRIMARY DECISION TABLE
					;
	130060	130156			$CRMD0:	.WORD	$FJ			;J FIELD
	130062	   004		
	130063	   001				.BYTE	4,1			;CHARACTERS , POST SPACING
					
	130064	130172				.WORD	$FT			;T FIELD
	130066	   001		
	130067	   001				.BYTE	1,1
					
	130070	130176				.WORD	$FAR			;AR FIELD
	130072	   002		
	130073	   001				.BYTE	2,1
					
	130074	130206				.WORD	$FAD			;AD FIELD
	130076	   004		
	130077	   001				.BYTE	4,1
					
	130100	130222				.WORD	$FBR			;BR FIELD
	130102	   001		
	130103	   002				.BYTE	1,2
					
	130104	130226				.WORD	$FMQ			;MQ FIELD
	130106	   001		
	130107	   002				.BYTE	1,2
					
	130110	130230				.WORD	$FFM			;FM FIELD
	130112	   001		
	130113	   002				.BYTE	1,2
					
	130114	130234				.WORD	$FSCAD			;SCAD FIELD
	130116	   003		
	130117	   002				.BYTE	3,2
					
	130120	130246				.WORD	$FSC			;SC FIELD
	130122	   001		
	130123	   002				.BYTE	1,2
					
	130124	130250				.WORD	$FFE			;FE FIELD
	130126	   001		
	130127	   002				.BYTE	1,2
					
	130130	130252				.WORD	$FSH			;SH FIELD
	130132	   001		
	130133	   001				.BYTE	1,1
					
	130134	130256				.WORD	$FNUM			;NUM FIELD
	130136	   003		
	130137	   002				.BYTE	3,2
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 265
	FD11 PALII[KL,SYS]	Page 13.1 	DEPOSIT C-RAM SUBROUTINE

					
	130140	130270				.WORD	$FVMA			;VMA FIELD
	130142	   001		
	130143	   002				.BYTE	1,2
					
	130144	130274				.WORD	$FMEM			;MEM FIELD
	130146	   002		
	130147	   003				.BYTE	2,3
					
	130150	130302				.WORD	$FCOND			;COND FIELD
	130152	   002		
	130153	   003				.BYTE	2,3
					
	130154	000000				.WORD	0			;END OF TABLE WORD
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 266
	FD11 PALII[KL,SYS]	Page 14 	DEPOSIT C-RAM SUBROUTINE

					;C-RAM SECONDARY DECISION TABLES
					
	130156	   112		
	130157	   111			$FJ:	.BYTE	74.,73.		;J00(5), J01(6)
	130160	   110		
	130161	   107				.BYTE	72.,71.		;J02(7), J03(8)
	130162	   106		
	130163	   105				.BYTE	70.,69.		;J04(9), J05(10)
	130164	   104		
	130165	   103				.BYTE	68.,67.		;J06(11), J07(12)
	130166	   102		
	130167	   101				.BYTE	66.,65.		;J08(13), J09(14)
	130170	   100		
	130171	   000				.BYTE	64.,0		;J10(15)
					
	130172	   003		
	130173	   001			$FT:	.BYTE	3.,1.		;T00(76), T01(78)
	130174	   000		
	130175	   000				.BYTE	0,0
					
	130176	   053		
	130177	   013			$FAR:	.BYTE	43.,11.		;ARXM SEL4(36), ARXM SEL2(68)
	130200	   011		
	130201	   042				.BYTE	9.,34.		;ARXM SEL1(70), ARM SEL4(45)
	130202	   017		
	130203	   015				.BYTE	15.,13.		;ARM SEL2(64), ARM SEL1(66)
	130204	   000		
	130205	   000				.BYTE	0,0
					
	130206	   063		
	130207	   057			$FAD:	.BYTE	51.,47.		;ADB SEL2(28), ADB SEL1(32)
	130210	   066		
	130211	   065				.BYTE	54.,53.		;ADA DIS(25), ADA SEL2(26)
	130212	   064		
	130213	   005				.BYTE	52.,5.		;ADA SEL1(27), AD CRY(74)
	130214	   067		
	130215	   073				.BYTE	55.,59.		;AD BOOLE(24), AD SEL 8 (20)
	130216	   072		
	130217	   071				.BYTE	58.,57.		;AD SEL 4 (21), AD SEL 2 (22)
	130220	   070		
	130221	   000				.BYTE	56.,0		;AD SEL 1 (23)
					
	130222	   031		
	130223	   033			$FBR:	.BYTE	25.,27.		;BRX LOAD(54), BR LOAD(52)
	130224	   000		
	130225	   000				.BYTE	0,0
					
	130226	   077		
	130227	   000			$FMQ:	.BYTE	63.,0		;MQ SEL(16)
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 267
	FD11 PALII[KL,SYS]	Page 14.1 	DEPOSIT C-RAM SUBROUTINE

					
	130230	   027		
	130231	   026			$FFM:	.BYTE	23.,22.		;FM ADR SEL4(56), FM ADR SEL2(57)
	130232	   025		
	130233	   000				.BYTE	21.,0		;FM ADR SEL1(58)
					
	130234	   045		
	130235	   023			$FSCAD:	.BYTE	37.,19.		;SCADB SEL2(42), SCADB SEL1(60)
	130236	   117		
	130237	   047				.BYTE	79.,39.		;SCADA DIS(0), SCADA SEL2(40)
	130240	   046		
	130241	   116				.BYTE	38.,78.		;SCADA SEL1(41), SCAD 4(1)
	130242	   115		
	130243	   114				.BYTE	77.,76.		;SCAD 2(2), SCAD 1(3)
	130244	   000		
	130245	   000				.BYTE	0,0
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 268
	FD11 PALII[KL,SYS]	Page 15 	DEPOSIT C-RAM SUBROUTINE

					
	130246	   021		
	130247	   000			$FSC:	.BYTE	17.,0		;SCM SEL 2(62)
					
	130250	   113		
	130251	   000			$FFE:	.BYTE	75.,0		;FE LOAD(4)
					
	130252	   041		
	130253	   040			$FSH:	.BYTE	33.,32.		;SH/ARMM SEL2(46), SH/ARMM SEL1(47)
	130254	   000		
	130255	   000				.BYTE	0,0
					
	130256	   062		
	130257	   061			$FNUM:	.BYTE	50.,49.		;#00(29), #01(30)
	130260	   060		
	130261	   056				.BYTE	48.,46.		;#02(31), #03(33)
	130262	   055		
	130263	   054				.BYTE	45.,44.		;#04(34), #05(35)
	130264	   052		
	130265	   051				.BYTE	42.,41.		;#06(37), #07(38)
	130266	   050		
	130267	   000				.BYTE	40.,0		;#08(39)
					
	130270	   043		
	130271	   007			$FVMA:	.BYTE	35.,7.		;VMA SEL 2(44), VMA SEL 1(72)
	130272	   000		
	130273	   000				.BYTE	0,0
					
	130274	   037		
	130275	   036			$FMEM:	.BYTE	31.,30.		;MEM 00(48), MEM 01(49)
	130276	   035		
	130277	   034				.BYTE	29.,28.		;MEM 02(50), MEM 03(51)
	130300	   000		
	130301	   000				.BYTE	0,0
					
	130302	   076		
	130303	   075			$FCOND:	.BYTE	62.,61.		;COND 00(17), COND 01(18)
	130304	   074		
	130305	   032				.BYTE	60.,26.		;COND 02(19), COND 03(53)
	130306	   030		
	130307	   024				.BYTE	24.,20.		;COND 04(55), COND 05(59)
	130310	   000		
	130311	   000				.BYTE	0,0
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 269
	KLDCP PAL[KL,SYS]	Page 5.5 	DEPOSIT C-RAM SUBROUTINE

					
								;Dectape
					.INSRT	DTA11.PAL
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 270
	DTA11 PAL[KL,SYS]	Page 1 	DEPOSIT C-RAM SUBROUTINE

				COMMENT ⊗   VALID 00027 PAGES
				C REC  PAGE   DESCRIPTION
				C00001 00001
				C00003 00002	.SBTTL	PROGRAM FILE LOADER, 4-SEPT-75
				C00008 00003	PROCESS FILENAME.EXT FROM INPUT BUFFER
				C00011 00004	DECTAPE/RP04/FLOPPY LOADER START
				C00013 00005	LLDONE:	MOV	R4,DVCNT	RESAVE POINTERS
				C00015 00006	LDPRO2:	JMP	ACTLDC		LOAD TYPE ERROR
				C00017 00007	LDCKSM:	TST	LDOCTF		LOADING OCTAL ?
				C00019 00008	LOAD DONE ROUTINE   PDP11 LOAD ROUTINE
				C00021 00009	3$:	TST	VERIFY
				C00022 00010	PDP-11 BINARY LOAD ROUTINE
				C00024 00011	3$:	PUSH	R0
				C00025 00012	KL10 LOAD D-RAM ROUTINE
				C00027 00013	KL10 C-RAM ZERO
				C00031 00014	2$:	MOV	LDADR,R0	SELECT C-RAM STARTING ADDRESS
				C00032 00015	LOAD TEN CORE ZERO
				C00034 00016	LOAD TEN DATA
				C00036 00017	LD10VR:	BMI	LD10ER		N-BIT SET DEPOSIT FAILED
				C00037 00018	DEVICE FILE DIRECTORY LOOKUP
				C00039 00019	1$:	MOV	(R0)+,DIRST0	STORE RAD50 NAME
				C00041 00020	DECTAPE/FLOPPY DIRECTORY ROUTINE
				C00042 00021	READ DEVICE FRAME SUBROUTINE
				C00044 00022	DVEOF:	TST	LDCNTL		EOF, PRINTING A HELP FILE ?
				C00045 00023	RAD50 UNPACK SUBROUTINE
				C00047 00024	DECTAPE READ/WRITE FILE ROUTINES
				C00048 00025	DECTAPE DEVICE READ/WRITE ROUTINE
				C00050 00026	DTSRA:	ADD	#3,@#TCDT	+3 TO TCDT
				C00053 00027	.SBTTL	ASCR50	ASCII TO RAD50 CONVERSION ROUTINE
				C00055 ENDMK
					C⊗;
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 271
	DTA11 PAL[KL,SYS]	Page 2 	PROGRAM FILE LOADER, 4-SEPT-75

					.SBTTL	PROGRAM FILE LOADER, 4-SEPT-75
					
					;LOAD CONTROL FLAG WORD "LDCNTL"
					;BIT15=1 IS HELP, PRINT FILE READ
					;WORD = 0	.A10, PDP-10 LOAD
					;	1	.A11, PDP-11 LOAD
					;	2	.RAM, KL10 C-RAM ZERO
					;	3	.RAM, KL10 C-RAM LOAD
					;	4	.RAM, KL10 D-RAM LOAD
					;	5	.BIN, PDP-11 BIN LOAD
					;	6	.D10, PDP-11 LOAD DSKDMP BOOTSTRAP .D10 FILE
					;ACT10		.BIN LOADED AS .A11
					;		.SAV LOADED AS .A10
					
					;PROGRAM DETERMINATION & LOAD CONTROL INITIALIZATION
					
	130312	104206			DVLOAD:	NAMEXT			;SETUP NAME.EXT
	130314	005700				TST	R0		;ANY EXT ?
	130316	001043				BNE	4$		;YES
	130320	105737	147640			TSTB	JFILEF		;DOING "J" COMMAND ?
	130324	001405				BEQ	50$		;NO
	130326	012704	046503			MOV	#"CM,R4		;YES, DEFAULT EXT IS "CMD"
	130332	012705	020104			MOV	#"D ,R5
	130336	000427				BR	52$
					
	130340	105737	147644		50$:	TSTB	IFILEF		;DOING "I" COMMAND ?
	130344	001405				BEQ	51$		;NO
	130346	012704	041503			MOV	#"CC,R4		;YES, DEFAULT EXT IS "CCL"
	130352	012705	020114			MOV	#"L ,R5
	130356	000417				BR	52$
					
	130360	013704	150752		51$:	MOV	LDOVRD,R4	;ANY LOAD EXT OVERRIDE ?
	130364	003403				BLE	53$		;IF NOT, USE "A10"
	130366	022704	000007			CMP	#7,R4
	130372	002002				BGE	54$		;BRANCH UNLESS OUT OF BOUNDS
	130374	012704	000001		53$:	MOV	#1,R4
	130400	005304			54$:	DEC	R4		;RESULT OF 0=A10,1=A11,2,3,4=RAM,5=BIN,6=D10(DSKDMP)
	130402	006304				ASL	R4		;DOUBLE R4 (SINCE WE NEED 4 BYTES PER ENTRY)
	130404	006304				ASL	R4		;DOUBLE AGAIN
	130406	016405	130644			MOV	DEFEXT+2(R4),R5	;SECOND 2 CHARACTERS OF DEFAULT EXT.
	130412	016404	130642			MOV	DEFEXT(R4),R4
	130416	010437	151206		52$:	MOV	R4,EXTBF
	130422	010537	151210			MOV	R5,EXTBF+2
	130426	012703	150754		4$:	MOV	#LDCNTL,R3
	130432	005713				TST	(R3)		;IS THIS "HELP"
	130434	100451				BMI	12$		;BRANCH IF "HELP".  NO DEFAULT EXTENSION.
	130436	012704	147647			MOV	#TEMP+1,R4
	130442	012705	151210			MOV	#EXTBF+2,R5
	130446	111514				MOVB	(R5),(R4)	;MAKE A WORD OUT OF 2ND & 3RD CHAR
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 272
	DTA11 PAL[KL,SYS]	Page 2.1 	PROGRAM FILE LOADER, 4-SEPT-75

	130450	114544				MOVB	-(R5),-(R4)
	130452	122745	000101			CMPB	#'A,-(R5)	;IS FIRST CHAR AN "A" ?
	130456	001420				BEQ	6$		;BR IF YES
	130460	122715	000102			CMPB	#'B,(R5)	;IS FIRST CHAR A "B" ?
	130464	001446				BEQ	14$		;BR IF YES
	130466	122715	000123			CMPB	#'S,(R5)	;IS FIRST CHAR AN "S" ?
	130472	001451				BEQ	16$		;BR IF YES
	130474	122715	000122			CMPB	#'R,(R5)	;IS FIRST CHAR AN "R" ?
	130500	001422				BEQ	66$		;BR IF YES
	130502	122715	000104			CMPB	#'D,(R5)	;IS FIRST CHAR A "D" ?
	130506	001447				BEQ	21$
	130510	005737	150752		5$:	TST	LDOVRD		;ANY LOAD EXT OVERRIDE ?
	130514	001021				BNE	12$		;YES
	130516	000566				BR	$$$NAM		;NAME.EXT ERR
					
	130520	022714	030061		6$:	CMP	#"10,(R4)	;HERE IS IF FIRST CHARACTER IS AN "A"
	130524	001406				BEQ	7$		;BR IF ".A10"
	130526	022714	030461			CMP	#"11,(R4)
	130532	001366				BNE	5$		;BR IF NOT "A11"
	130534	012713	000001			MOV	#1,(R3)		;"A11"
	130540	000407				BR	12$
					
	130542	005013			7$:	CLR	(R3)		;A10.  SETUP LOAD CONTROL
	130544	000405				BR	12$
					
	130546	022714	046501		66$:	CMP	#"AM,(R4)	;"R" SEEN
	130552	001356				BNE	5$		;BR IF NOT ".RAM"
	130554	012713	000002			MOV	#2,(R3)		;"RAM"
	130560	005737	150752		12$:	TST	LDOVRD		;ANY LOAD EXT OVERRIDE ?
	130564	001404				BEQ	20$		;NO
	130566	013700	150752			MOV	LDOVRD,R0	;SET LOAD CONTROL ACCORDINGLY
	130572	005300				DEC	R0
	130574	010013				MOV	R0,(R3)
	130576	000137	133346		20$:	JMP	DEVFIL		;GO GET FILE & LOAD
					
	130602	022714	047111		14$:	CMP	#"IN,(R4)	;IS EXTENSION ".BIN" ?
	130606	001340				BNE	5$		;BR IF NO
	130610	012713	000005			MOV	#5,(R3)		;YES, SET LOAD CONTROL
	130614	000761				BR	12$
					
	130616	022714	053101		16$:	CMP	#"AV,(R4)	;IS EXTENSION ".SAV" ?
	130622	001747				BEQ	7$		;YES, ACT10 TREATS AS ".A10"
	130624	000731				BR	5$
					
	130626	022714	030061		21$:	CMP	#"10,(R4)	;IS EXTENSION ".D10" ?
	130632	001326				BNE	5$		;NO, GO REPORT ERROR
	130634	012713	000006			MOV	#6,(R3)		;YES, SET LOAD CONTROL
	130640	000747				BR	12$
					
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 273
	DTA11 PAL[KL,SYS]	Page 2.2 	PROGRAM FILE LOADER, 4-SEPT-75

	130642	   101		
	130643	   061		
	130644	   060		
	130645	   040		
					DEFEXT:	.ASCII /A10 /
	130646	   101		
	130647	   061		
	130650	   061		
	130651	   040		
						.ASCII /A11 /
	130652	   122		
	130653	   101		
	130654	   115		
	130655	   040		
						.ASCII /RAM /
	130656	   122		
	130657	   101		
	130660	   115		
	130661	   040		
						.ASCII /RAM /
	130662	   122		
	130663	   101		
	130664	   115		
	130665	   040		
						.ASCII /RAM /
	130666	   102		
	130667	   111		
	130670	   116		
	130671	   040		
						.ASCII /BIN /
	130672	   104		
	130673	   061		
	130674	   060		
	130675	   040		
						.ASCII /D10 /		;FOR DSKDMP BOOT
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 274
	DTA11 PAL[KL,SYS]	Page 3 	PROGRAM FILE LOADER, 4-SEPT-75

					;PROCESS FILENAME.EXT FROM INPUT BUFFER
					
	130676	012700	151200		$NAMEXT:MOV	#NAMBF,R0	;CLEAR NAME LOOKUP BUFFER
	130702	012701	020040			MOV	#20040,R1	;TO SPACES
	130706	012702	000005			MOV	#5,R2
	130712	010120			70$:	MOV	R1,(R0)+	;UP TO 9 CHARS
	130714	005302				DEC	R2
	130716	003375				BGT	70$
					
	130720	012702	151200			MOV	#NAMBF,R2	;LOOKUP NAME
	130724	012701	000007			MOV	#7,R1		;MAXIMUM OF 6 CHARS IN NAME
	130730	104016				TTISDL
	130732	103402				BCS	99$		;LETTER, ALREADY IN R0
	130734	104005			1$:	TTICHR			;GET CHAR FROM TTY BUFFER
	130736	103456				BCS	5$
	130740	122700	000056		99$:	CMPB	#'.,R0
	130744	001415				BEQ	2$		;BR IF PERIOD, NAME.EXT SEPARATOR
	130746	122700	000033			CMPB	#33,R0
	130752	001435				BEQ	97$		;ALTMODE, SELF START
	130754	122700	000015			CMPB	#15,R0
	130760	001442				BEQ	96$		;CR, NO EXTENSION
	130762	122700	000040			CMPB	#SPACE,R0	;IF SPACE, NO EXT
	130766	001437				BEQ	96$
	130770	005301				DEC	R1
	130772	001440				BEQ	5$		;BR IF MORE THAN 6 CHARS
	130774	110022				MOVB	R0,(R2)+	;STORE CHAR
	130776	000756				BR	1$
					
	131000	012702	151206		2$:	MOV	#EXTBF,R2	;GET EXTENSION
	131004	012701	000004			MOV	#4,R1
	131010	104005			3$:	TTICHR
	131012	103430				BCS	5$
	131014	122700	000033			CMPB	#33,R0
	131020	001415				BEQ	13$		;BR IF ALTMODE
	131022	122700	000015			CMPB	#15,R0
	131026	001414				BEQ	98$		;BR IF CR
	131030	122700	000040			CMPB	#SPACE,R0	;BR IF SPACE
	131034	001411				BEQ	98$
	131036	005301				DEC	R1
	131040	001415				BEQ	5$		;BR IF MORE THAN 3 CHARS
	131042	110022				MOVB	R0,(R2)+	;STORE CHAR
	131044	000761				BR	3$
					
	131046	005137	150746		97$:	COM	SRTFLG		;SET SELF START FLAG
	131052	000405				BR	96$
					
	131054	005137	150746		13$:	COM	SRTFLG
					
	131060	022701	000004		98$:	CMP	#4,R1
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 275
	DTA11 PAL[KL,SYS]	Page 3.1 	PROGRAM FILE LOADER, 4-SEPT-75

	131064	001001				BNE	10$
	131066	005000			96$:	CLR	R0
					10$:	EXIT
	131070	000137	124062			  JMP	$EXIT
					
		131074			$$$NAM=.
	131074	104025			5$:	$PMSG			;NAME.EXT ERR
	131076	131104				  $$NAM
	131100	000137	100004			JMP	$CNTLC
					
	131104	   116		
	131105	   101		
	131106	   115		
	131107	   105		
	131110	   056		
	131111	   105		
	131112	   130		
	131113	   124		
	131114	   040		
	131115	   105		
	131116	   122		
	131117	   122		
	131120	   000		
					$$NAM:	.ASCIZ	/NAME.EXT ERR/
		131122			.EVEN
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 276
	DTA11 PAL[KL,SYS]	Page 4 	PROGRAM FILE LOADER, 4-SEPT-75

					;DECTAPE/RP04/FLOPPY LOADER START
					
	131122	022737	000005	150754	DTRPLD:	CMP	#5,LDCNTL	;PDP-11 .BIN FILE LOAD ?
	131130	001002				BNE	LLD1
	131132	000137	132240			JMP	LDBIN
					
	131136	104160			LLD1:	DVDATA			;LOAD FIRST BUFFER
	131140	103002				 BCC	LLD2
	131142	000137	134064			JMP	DVEOF		;EOF
					
					LLD2:
					.IF DF MONASB
						TST	DEVTYP
						BPL	1$
						JMP	ACTLD2		;ACT10 PROCESS
					.ENDC
	131146	012705	150520		1$:	MOV	#$INBUF,R5	;SET UP START OF CHAR BUFFER
	131152	010537	150736			MOV	R5,$INPTC
					
	131156	013704	151146		LLD3:	MOV	DVCNT,R4	;SETUP DEVICE BYTE COUNTER
	131162	013703	151150			MOV	DVADR,R3	;SETUP DEVICE DATA BLOCK ADDRESS
					
	131166	005704			LLD4:	TST	R4		;ANY DATA REMAINING ?
	131170	003004				BGT	2$		;YES
					
	131172	104160				DVDATA			;NO, READ NEXT DEVICE BLOCK
	131174	103370				 BCC	LLD3
	131176	000137	134064			JMP	DVEOF		;END OF FILE ?
					
	131202	112300			2$:	MOVB	(R3)+,R0	;GET FRAME, ONE 7 BIT CHAR
	131204	005304				DEC	R4		;COUNT IT
	131206	042700	177600			BIC	#177600,R0
	131212	005700				TST	R0		;IS FRAME A NULL ?
	131214	001764				BEQ	LLD4		;BR IF YES, DON'T STORE
	131216	110025				MOVB	R0,(R5)+	;STORE IN BUFFER
	131220	020527	150734			CMP	R5,#$INBUF+140.
	131224	003402				BLE	1$		;BR IF BUFFER DIDN'T OVERFLOW
	131226	000137	131760			JMP	$LINERR		;REPORT BUFFER OVERFLOW
	131232	022700	000012		1$:	CMP	#12,R0		;IS CHAR A LINE FEED ?
	131236	001401				BEQ	LLDONE		;BR IF LINE DONE
	131240	000752				BR	LLD4		;LOOP TILL LF FOUND
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 277
	DTA11 PAL[KL,SYS]	Page 5 	PROGRAM FILE LOADER, 4-SEPT-75

	131242	010437	151146		LLDONE:	MOV	R4,DVCNT	;RESAVE POINTERS
	131246	010337	151150			MOV	R3,DVADR
	131252	105015				CLRB	(R5)		;STORE A NULL TO END STRING
	131254	010537	150740			MOV	R5,$INPTR
	131260	005237	150744			INC	DEVLC		;COUNT LINE
	131264	013737	150744	177570		MOV	DEVLC,SWR	;DISPLAY
	131272	005737	150754			TST	LDCNTL		;IS HELP FLAG SET ?
	131276	100002				BPL	LDPROC		;BR IF NO
	131300	000137	140426			JMP	DAHLP		;DTA/ACT HELP
					
	131304	005037	150756		LDPROC:	CLR	LDOCTF		;CLEAR OCTAL LOAD FLAG
	131310	005037	150750			CLR	LDZBLK
	131314	013701	150754			MOV	LDCNTL,R1	;GET LOAD CONTROL
	131320	013705	150736			MOV	$INPTC,R5	;SETUP INPUT POINTER
	131324	112500				MOVB	(R5)+,R0	;GET FIRST CHAR FROM FILE
	131326	122700	000073			CMPB	#';,R0		;IS FIRST CHAR A SEMICOLON ?
	131332	001420				BEQ	LDPRO1		;YES, PROCESS COMMENT LINE
	131334	126100	131670			CMPB	LDLTR(R1),R0	;DOES 1ST CHAR MATCH LOAD TYPE ?
	131340	001443				BEQ	LDPRO3		;YES
	131342	023727	150754	000006		CMP	LDCNTL,#6	;D10 FILES ACT LIKE A10
	131350	001403				BEQ	1$
	131352	005737	150754			TST	LDCNTL		;IS THIS .A10 FILE ?
	131356	001032				BNE	LDPRO2		;NO, ERROR
	131360	122700	000132		1$:	CMPB	#'Z,R0		;YES, IS FIRST CHAR A "Z" ?
	131364	001027				BNE	LDPRO2		;NO, ERROR
	131366	005137	150750			COM	LDZBLK		;YES, SET CORE ZERO FLAG
	131372	000426				BR	LDPRO3
					
	131374	005737	150744		LDPRO1:	TST	DEVLC		;COMMENT, IS THIS FIRST LINE ?
	131400	001262				BNE	LLD2		;NO
						PUSH	PCMDNF		;SAVE PGM CMD NO PRINT FLAG
	131406	104057				SWITCH
	131410	030027	000001			BIT	R0,#CHAIN	;IS CHAIN SWITCH SET ?
	131414	001403				BEQ	1$		;NO
	131416	012737	777777	152232		MOV	#-1,PCMDNF	;YES, PREVENT FILE ID PRINTOUT
					
	131424	112501			1$:	MOVB	(R5)+,R1	;PUT FILE ID LINE IN OUTPUT BUFFER
	131426	001402				BEQ	2$		;NULL, DONE
	131430	104154				PLDBUF
	131432	000774				BR	1$
					2$:	POP	PCMDNF		;RESTORE FLAG
	131440	104215				PNTRST			;RESET OUTPUT POINTERS ANYWAY
	131442	000641				BR	LLD2
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 278
	DTA11 PAL[KL,SYS]	Page 6 	PROGRAM FILE LOADER, 4-SEPT-75

	131444	000137	140632		LDPRO2:	JMP	ACTLDC		;LOAD TYPE ERROR
					
	131450	112500			LDPRO3:	MOVB	(R5)+,R0	;GET 2ND CHAR
	131452	122700	000117			CMPB	#'O,R0		;IS IT AN O ?
	131456	001445				BEQ	LDOCT		;YES, OCTAL DATA FORMAT LOAD
	131460	122700	000040			CMPB	#40,R0		;IS IT A SPACE ?
	131464	001367				BNE	LDPRO2		;BR IF NO
					
	131466	012701	150760		LDCLR:	MOV	#LDCNT,R1	;SETUP CONVERTED STORAGE ADDRESS
	131472	005002			LDCNV:	CLR	R2		;CLEAR WORD FORMER
	131474	112500			1$:	MOVB	(R5)+,R0	;GET CHAR
	131476	022700	000015			CMP	#15,R0		;IS IT A CR ?
	131502	001774				BEQ	1$		;YES, IGNORE
	131504	022700	000012			CMP	#12,R0		;IS IT A LF ?
	131510	001435				BEQ	LDEOL		;YES, END OF LINE
	131512	022700	000054			CMP	#54,R0		;IS IT A COMMA ?
	131516	001415				BEQ	2$		;YES, GO STORE WORD
	131520	005737	150756			TST	LDOCTF		;LOADING OCTAL ?
	131524	001014				BNE	3$		;YES
						SL	R2,6		;SHIFT WORD FORMER LEFT 6
	131542	042700	000100			BIC	#100,R0		;CLEAR ASCIIZED BIT
	131546	050002			4$:	BIS	R0,R2		;INSERT NEW OIT
	131550	000751				BR	1$		;LOOP TILL WORD FORMED
					
	131552	010221			2$:	MOV	R2,(R1)+	;STORE 16 BIT WORD
	131554	000746				BR	LDCNV		;GO DO NEXT
					
					3$:	SL	R2,3		;OCTAL LOAD
	131564	042700	177770			BIC	#177770,R0	;CLEAR ALL BUT NUMBER PART
	131570	000766				BR	4$
					
	131572	005137	150756		LDOCT:	COM	LDOCTF		;OCTAL LOAD, SET FLAG
	131576	000733				BR	LDCLR
					
	131600	000137	140646		LDERR:	JMP	ACTLDF		;LOAD ERROR
					
	131604	010211			LDEOL:	MOV	R2,(R1)		;STORE CHECKSUM
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 279
	DTA11 PAL[KL,SYS]	Page 7 	PROGRAM FILE LOADER, 4-SEPT-75

	131606	005737	150756		LDCKSM:	TST	LDOCTF		;LOADING OCTAL ?
	131612	001012				BNE	2$		;YES, NO CHECKSUM
	131614	012702	150760			MOV	#LDCNT,R2	;CHECKSUM LOAD STORAGE
	131620	005000				CLR	R0
	131622	062200			1$:	ADD	(R2)+,R0
	131624	020201				CMP	R2,R1
	131626	003775				BLE	1$
	131630	005700				TST	R0		;IS CHECKSUM = 0 ?
	131632	001402				BEQ	2$		;BR IF 0
	131634	000137	140640			JMP	ACTBCK		;BAD CHECKSUM
					
	131640	013700	150754		2$:	MOV	LDCNTL,R0	;DISPATCH TO PROPER LOAD ROUTINE
						SL	R0,1		;DETERMINED FROM LDCNTL WORD
	131646	000170	131652			JMP	@LDTYPE(R0)
					
	131652	133050			LDTYPE:	LDTEN			;.A10, LOAD TEN
	131654	131774				LDELVN			;.A11, LOAD ELEVEN
	131656	132606				LDCZRO			;.RAM, ZERO C-RAM
	131660	132640				LDCRAM			;.RAM, LOAD C-RAM
	131662	132450				LDDRAM			;.RAM, LOAD D-RAM
	131664	000000				0			;.BIN, DETECTED IN LINE
	131666	135264				LDBOOT			;.D10, LOAD DSKDMP BOOT INTO 11 (SAME FORMAT AS A10)
					
	131670	   124		
	131671	   105		
	131672	   132		
	131673	   103		
	131674	   104		
	131675	   040		
	131676	   124		
					LDLTR:	.ASCII	/TEZCD T/
					
	131677	   061		
	131700	   061		
	131701	   040		
	131702	   105		
	131703	   122		
	131704	   122		
	131705	   054		
	131706	   101		
	131707	   104		
	131710	   122		
	131711	   075		
	131712	   000		
					$$LD11:	.ASCIZ	/11 ERR,ADR=/
	131713	   103		
	131714	   117		
	131715	   122		
	131716	   075		
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 280
	DTA11 PAL[KL,SYS]	Page 7.1 	PROGRAM FILE LOADER, 4-SEPT-75

	131717	   000		
					$$COR:	.ASCIZ	/COR=/
	131720	   101		
	131721	   103		
	131722	   124		
	131723	   075		
	131724	   000		
					$$ACT:	.ASCIZ	/ACT=/
	131725	   134		
	131726	   122		
	131727	   101		
	131730	   115		
	131731	   040		
	131732	   105		
	131733	   122		
	131734	   122		
	131735	   054		
	131736	   103		
	131737	   117		
	131740	   122		
	131741	   075		
	131742	   000		
					$$RAM:	.ASCIZ	/\RAM ERR,COR=/
	131743	   134		
	131744	   061		
	131745	   060		
	131746	   040		
	131747	   105		
	131750	   122		
	131751	   122		
	131752	   054		
	131753	   101		
	131754	   104		
	131755	   122		
	131756	   075		
	131757	   000		
					$$TEN:	.ASCIZ	/\10 ERR,ADR=/
		131760				.EVEN
					
					$LINERR:PMSG	<?LINE TOO LONG>
	131760	104025				  $PMSG
	131762	146755				  $$CLIT
	131764	000137	100004			JMP	$CNTLC
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 281
	DTA11 PAL[KL,SYS]	Page 8 	PROGRAM FILE LOADER, 4-SEPT-75

					;LOAD DONE ROUTINE   PDP11 LOAD ROUTINE
					
					LDDONE:
					.IF DF MONASB
						TST	DEVTYP		;LOAD DONE
						BMI	1$		;BR IF ACT10 MODE
					.ENDC
	131770	000137	140604			JMP	DADONE
					
					.LIF DF MONASB
					1$:	JMP	ACTDON		;ACT10 PROCESS
					
					;PDP-11 CORE LOAD ROUTINE
					
	131774	013700	150760		LDELVN:	MOV	LDCNT,R0	;GET LOAD WORD COUNT
	132000	001510				BEQ	2$		;IF 0, THIS IS TRANSFER BLOCK
	132002	012702	150764			MOV	#LDATA,R2	;SETUP DATA PICKUP POINTER
	132006	013701	150762			MOV	LDADR,R1	;GET LOAD MEMORY ADDRESS
	132012	032701	000001			BIT	#1,R1		;LOAD WORD OR BYTE ?
	132016	001034				BNE	3$		;BYTE LOAD
					
	132020	005737	147750		1$:	TST	VERIFY
	132024	001005				BNE	11$
	132026	012221			19$:	MOV	(R2)+,(R1)+	;MOVE WORD FROM STOR TO MEMORY
	132030	005300			13$:	DEC	R0		;DECREMENT WORD COUNT
	132032	003372				BGT	1$		;LOOP TILL ALL WORDS MOVED
	132034	000137	131146		18$:	JMP	LLD2		;GO DO NEXT LOAD LINE
					
	132040	021211			11$:	CMP	(R2),(R1)	;COMPARE CURRENT AGAINST FILE
	132042	001417				BEQ	12$
						PUSH	R0
	132046	104025				$PMSG
	132050	131677				$$LD11			;"11 ERR,ADR="
	132052	010100				MOV	R1,R0
	132054	104035				PNTOCT
					
	132056	104025				$PMSG
	132060	131713				$$COR			;"COR="
	132062	011200				MOV	(R2),R0
	132064	104035				PNTOCT
					
	132066	104025				$PMSG
	132070	131720				$$ACT			;"ACT="
	132072	011100				MOV	(R1),R0
	132074	104035				PNTOCT
	132076	104031				PCRLF
						POP	R0
					
	132102	005722			12$:	TST	(R2)+
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 282
	DTA11 PAL[KL,SYS]	Page 8.1 	PROGRAM FILE LOADER, 4-SEPT-75

	132104	005721				TST	(R1)+
	132106	000750				BR	13$
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 283
	DTA11 PAL[KL,SYS]	Page 9 	PROGRAM FILE LOADER, 4-SEPT-75

	132110	005737	147750		3$:	TST	VERIFY
	132114	001005				BNE	31$
					
	132116	112221			39$:	MOVB	(R2)+,(R1)+	;ODD ADDRESS, BYTE LOAD
	132120	112221				MOVB	(R2)+,(R1)+	;2 BYTES PER WORD
	132122	005300			38$:	DEC	R0		;DECREMENT WORD COUNT
	132124	003371				BGT	3$		;LOOP TILL ALL BYTES MOVED
	132126	000742				BR	18$		;GO ON TO NEXT
					
					
	132130	005005			31$:	CLR	R5
					32$:	PUSH	R0
	132134	121211				CMPB	(R2),(R1)
	132136	001422				BEQ	33$
					
	132140	104025				$PMSG
	132142	131677				$$LD11			;"11 ERR,ADR="
	132144	010100				MOV	R1,R0
	132146	104035				PNTOCT
					
	132150	104025				$PMSG
	132152	131713				$$COR			;"COR="
	132154	111200				MOVB	(R2),R0
	132156	042700	177400			BIC	#177400,R0
	132162	104036				PNTOCS
					
	132164	104032				PSPACE
	132166	104025				$PMSG
	132170	131720				$$ACT			;"ACT="
	132172	111100				MOVB	(R1),R0
	132174	042700	177400			BIC	#177400,R0
	132200	104036				PNTOCS
	132202	104031				PCRLF
					33$:	POP	R0
	132206	005202				INC	R2
	132210	005201				INC	R1
	132212	005705				TST	R5
	132214	001342				BNE	38$
	132216	005205				INC	R5
	132220	000744				BR	32$
					
	132222	013700	150762		2$:	MOV	LDADR,R0
	132226	010037	157204		LD11DN:	MOV	R0,PGOADR
	132232	005037	157202			CLR	PGOCTL
	132236	000654				BR	LDDONE
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 284
	DTA11 PAL[KL,SYS]	Page 10 	PROGRAM FILE LOADER, 4-SEPT-75

					;PDP-11 BINARY LOAD ROUTINE
					
	132240	104160			LDBIN:	DVDATA			;LOAD DEVICE BUFFER
	132242	005037	151110		LDBIN1:	CLR	$CKS11		;INIT CHECKSUM
	132246	104163				DVFRAM			;READ FRAME
	132250	105300				DECB	R0		;CHECK FOR BLOCK START
	132252	001373				BNE	LDBIN1		;NOT YET
	132254	104163				DVFRAM			;READ ANOTHER FRAME
					
	132256	104164				DVWRD			;GET FULL BYTE COUNT
	132260	010037	151104			MOV	R0,LBC
	132264	162737	000006	151104		SUB	#6,LBC
	132272	001456				BEQ	LJMP		;BYTE COUNT OF 6 IS XFER BLOCK
	132274	104164				DVWRD			;GET LOAD ADDRESS
	132276	010005				MOV	R0,R5		;STORE LOAD ADDRESS
					
	132300	104163			LDBIN2:	DVFRAM			;READ DATA FRAME
	132302	005337	151104			DEC	LBC
	132306	002007				BGE	LDBIN3		;BR IF MORE DATA REMAINS 
	132310	105737	151110			TSTB	$CKS11		;CORRECT CHECKSUM ?
	132314	001752				BEQ	LDBIN1		;BR IF GOOD CHECKSUM
					LDBINE:	PMSG	<\CKSUM ERR>
	132316	104025				  $PMSG
	132320	146774				  $$CLIT
	132322	000137	100004		$LDBNE:	JMP	$CNTLC
					
	132326	005737	147750		LDBIN3:	TST	VERIFY
	132332	001010				BNE	1$
	132334	020527	100000			CMP	R5,#PRGSRT	;TRYING TO LOAD INTO KLDCP ?
	132340	103403				BLO	10$		;NO
						PMSG	<\ADR ERR>
	132342	104025				  $PMSG
	132344	147007				  $$CLIT
	132346	000765				BR	$LDBNE		;YES, BAD !!
	132350	110025			10$:	MOVB	R0,(R5)+	;STORE DATA 1 BYTE AT A TIME
	132352	000752				BR	LDBIN2		;LOOP
					
	132354	120015			1$:	CMPB	R0,(R5)
	132356	001002				BNE	3$
	132360	005205			2$:	INC	R5
	132362	000746				BR	LDBIN2
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 285
	DTA11 PAL[KL,SYS]	Page 11 	PROGRAM FILE LOADER, 4-SEPT-75

					3$:	PUSH	R0
	132366	104025				$PMSG
	132370	131677				$$LD11			;"11 ERR,ADR="
					
	132372	010500				MOV	R5,R0
	132374	104035				PNTOCT
					
	132376	104025				$PMSG
	132400	131713				$$COR			;"COR="
						POP	R0
	132404	104036				PNTOCS
					
	132406	104032				PSPACE
	132410	104025				$PMSG
	132412	131720				$$ACT			;"ACT="
	132414	111500				MOVB	(R5),R0
	132416	042700	177400			BIC	#177400,R0
	132422	104036				PNTOCS
	132424	104031				PCRLF
	132426	000754				BR	2$
					
	132430	104164			LJMP:	DVWRD			;GET POSSIBLE XFER ADDRESS
						PUSH	R0
	132434	104163				DVFRAM
	132436	105737	151110			TSTB	$CKS11		;CORRECT CHECKSUM ?
	132442	001325				BNE	LDBINE		;BR IF BAD
						POP	R0		;SETUP START ADDRESS
	132446	000667				BR	LD11DN
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 286
	DTA11 PAL[KL,SYS]	Page 12 	PROGRAM FILE LOADER, 4-SEPT-75

					;KL10 LOAD D-RAM ROUTINE
					
					;CALLS "WDRAM" WITH R0 = D-RAM ADDRESS
					;		    R1 = LOAD DATA ADDRESS
					
	132450	013702	150760		LDDRAM:	MOV	LDCNT,R2	;GET LOAD WORD COUNT
	132454	001437				BEQ	2$		;WC = 0, TRANSFER BLOCK
	132456	013703	150762			MOV	LDADR,R3	;SETUP D-RAM ADDRESS
	132462	012704	150764			MOV	#LDATA,R4	;DATA PICKUP ADDRESS
					
	132466	010300			1$:	MOV	R3,R0		;D-RAM ADDRESS TO R0
	132470	010401				MOV	R4,R1		;DATA ADDRESS TO R1
					
	132472	005737	147750			TST	VERIFY
	132476	001001				BNE	11$		;VERIFY D-RAM
	132500	104127				WDRAM			;WRITE D-RAM
					
	132502	010300			11$:	MOV	R3,R0
	132504	104126				RDRAM			;READ D-RAM
	132506	010005				MOV	R0,R5
	132510	042710	000020			BIC	#20,(R0)	;CLEAR COMPUTED PARITY
	132514	022021				CMP	(R0)+,(R1)+	;COMPARE EVEN WORD
	132516	001020				BNE	20$
	132520	042710	000020			BIC	#20,(R0)	;CLEAR COMPUTED PARITY
	132524	022021				CMP	(R0)+,(R1)+	;COMPARE ODD WORD
	132526	001014				BNE	20$
	132530	021011				CMP	(R0),(R1)	;COMPARE COMMON WORD
	132532	001012				BNE	20$
	132534	062703	000002		21$:	ADD	#2,R3		;TO NEXT EVEN D-RAM ADDRESS
	132540	062704	000006			ADD	#6,R4		;SETUP NEXT DATA PICKUP ADR
	132544	162702	000003			SUB	#3,R2		;DECREMENT WORD COUNT
	132550	003346				BGT	1$		;BR IF NOT DONE YET
	132552	000473				BR	$LLD2		;BACK FOR NEXT LOAD FILE LINE
					
	132554	000137	131770		2$:	JMP	LDDONE		;LOAD FINISHED
					
	132560	104025			20$:	$PMSG
	132562	131725				$$RAM			;"RAM ERR,COR="
	132564	010300				MOV	R3,R0
	132566	010401				MOV	R4,R1
	132570	104143				PNTDRM			;PRINT CORRECT D-RAM
					
	132572	104025				$PMSG
	132574	131720				$$ACT			;"ACT="
	132576	010300				MOV	R3,R0
	132600	010501				MOV	R5,R1
	132602	104143				PNTDRM			;PRINT ACTUAL D-RAM
	132604	000753				BR	21$		;CONTINUE
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 287
	DTA11 PAL[KL,SYS]	Page 13 	PROGRAM FILE LOADER, 4-SEPT-75

					;KL10 C-RAM ZERO
					
				COMMENT ⊗
				
				RAM file.  The RAM file is ascii-ized text. A RAM file consists of a
				Z-line, some C-lines, and some D-lines.  The Z-line zeros a selected
				region of the CRAM.  Each C-line loads one or more microcode words
				into the CRAM.  The D-lines load the DRAM.
				
				Z wc,addr,count,chksum<crlf>
					The "Z " and the commas and crlf are literal.  WC is ignored
					and may be an empty string.  ADDR is the first location in
					the CRAM to zero; COUNT is the number of words of CRAM to zero.
					If COUNT is zero, nothing is zeroed (one Z line must appear
					in the file).  Chksum, as always, is the negative of the 16-bit
					sum of all preceding fields.
				
				C wc,addr,w0pt0,w0pt1,w0pt2,w0pt3,w0pt4,w0pt5,w1pt0....,chksum
					WC is a multiple of 6. Six 16-bit fields are loaded into
					each CRAM word.  Note:  In octal format, denoted by CO, the
					fields above are partly reversed.  They appear in the order:
					Pt4,Pt3,Pt2,Pt1,Pt0,Pt5.  This is the same format as the
					EC and DC commands use.
					Pt5 is the spec field.  Other fields are:...
					A zero WC signifies the CRAM start address is in ADDR, and
					that D-lines follow.
				
				
				D wc,addr,w0pt0,w0pt1,w0pt2,w2tp0,w2pt1,w2pt2,....,chksum
					WC must be a multiple of 3.  Three 16-bit fields are loaded
					into an even-odd pair of DRAM locations specified by addr
					(which should be even).  WC=0 signifies end of file.
				
					⊗
					
					
					
	132606	104076			LDCZRO:	MRESET			;MASTER RESET
	132610	005737	147750			TST	VERIFY
	132614	001006				BNE	2$		;NO ZEROING IF VERIFY
	132616	013701	150764			MOV	LDATA,R1	;GET C-RAM ZERO COUNT
	132622	001403				BEQ	2$		;0 ZERO COUNT, BYPASS ZEROING C-RAM
	132624	013700	150762			MOV	LDADR,R0	;SETUP STARTING ADDRESS
					
	132630	104203				MICNUL			;ZERO C-RAM
	132632	005237	150754		2$:	INC	LDCNTL		;ADVANCE LOAD CONTROL TO C-RAM LOAD
	132636	000441				BR	$LLD2
					
					;KL10 LOAD C-RAM ROUTINE
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 288
	DTA11 PAL[KL,SYS]	Page 13.1 	PROGRAM FILE LOADER, 4-SEPT-75

					
					;CALLS "WCRAM" WITH R0 = C-RAM ADDRESS
					;		    R1 = DATA PICKUP ADDRESS
					
	132640	013702	150760		LDCRAM:	MOV	LDCNT,R2	;GET LOAD WORD COUNT
	132644	001440				BEQ	2$		;WC = 0, TRANSFER BLOCK
	132646	013703	150762			MOV	LDADR,R3	;SETUP C-RAM ADDRESS
	132652	052703	040000			BIS	#BIT14,R3	;SET SPECIAL RESET BIT
	132656	012704	150764			MOV	#LDATA,R4	;DATA PICKUP ADDRESS
					
	132662	005737	150756		1$:	TST	LDOCTF		;LOADING OCTAL ?
	132666	001035				BNE	3$		;YES
	132670	010300			4$:	MOV	R3,R0		;C-RAM ADDRESS TO R0
	132672	010401				MOV	R4,R1		;DATA PICKUP ADDRESS TO R1
					
	132674	005737	147750			TST	VERIFY
	132700	001001				BNE	41$
	132702	104073				WCRAM			;WRITE C-RAM
	132704	010300			41$:	MOV	R3,R0
	132706	104074				RCRAM			;READ C-RAM BACK
					
	132710	012705	000006			MOV	#6,R5
	132714	010401				MOV	R4,R1
	132716	022021			11$:	CMP	(R0)+,(R1)+	;RAM LOADED PROPERLY ?
	132720	001035				BNE	12$		;NO
	132722	005305				DEC	R5
	132724	001374				BNE	11$
	132726	005203			42$:	INC	R3		;TO NEXT C-RAM ADDRESS
	132730	062704	000014			ADD	#12.,R4		;TO NEXT PICKUP ADDRESS
	132734	162702	000006			SUB	#6,R2		;DECREMENT WORD COUNT, 6 11 WDS PER
	132740	003350				BGT	1$		;BR IF NOT DONE YET
		132742			$LLD2=.
	132742	000137	131146			JMP	LLD2		;GET NEXT LOAD FILE LINE
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 289
	DTA11 PAL[KL,SYS]	Page 14 	PROGRAM FILE LOADER, 4-SEPT-75

	132746	013700	150762		2$:	MOV	LDADR,R0	;SELECT C-RAM STARTING ADDRESS
	132752	104075				WWADR			;WRITE ADDRESS TO C-RAM
	132754	005237	150754			INC	LDCNTL		;ADVANCE LOAD CONTROL TO D-RAM LOAD
	132760	000770				BR	$LLD2
					
					;OCTAL C-RAM LOAD, DATA IS BACKWARDS FROM UPSIDE DOWN NORMAL
					
	132762	011400			3$:	MOV	(R4),R0		;GET WORD 0
	132764	016414	000010			MOV	10(R4),(R4)	;PUT WORD 5 IN 0'S PLACE
	132770	010064	000010			MOV	R0,10(R4)	;PUT WORD 0 IN 5'S PLACE
	132774	016400	000002			MOV	2(R4),R0	;GET WORD 1
	133000	016464	000006	000002		MOV	6(R4),2(R4)	;PUT WORD 4 IN 1'S PLACE
	133006	010064	000006			MOV	R0,6(R4)	;PUT WORD 1 IN 4'S PLACE
	133012	000726				BR	4$		;NOW GO LOAD IN C-RAM
					
	133014	104025			12$:	$PMSG			;"RAM ERR,COR="
	133016	131725				$$RAM
	133020	010300				MOV	R3,R0
	133022	010401				MOV	R4,R1
	133024	104142				PNTCRM
	133026	104031				PCRLF
	133030	104025				$PMSG
	133032	131720				$$ACT			;"ACT="
	133034	010300				MOV	R3,R0
	133036	012701	147534			MOV	#$BUFRC,R1
	133042	104142				PNTCRM
	133044	104031				PCRLF
	133046	000727				BR	42$
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 290
	DTA11 PAL[KL,SYS]	Page 15 	PROGRAM FILE LOADER, 4-SEPT-75

					;LOAD TEN CORE ZERO
					
					;  START ADDRESS, LOW 16 BITS IN LDADR
					;               , BITS 18 & 19 IN HI-BYTE OF LDCNT
					;  ZERO COUNT IN LDATA
					;  WORD COUNT SIGNIFIES NUMBER OF LDATA WORDS USED FOR ZEROING
					;  "D10ZRO" - INCREMENTS PDP-10 ADDRESS WHILE ZEROING
					
	133050	012703	147722		LDTEN:	MOV	#L10ADR+2,R3	;SETUP BLOCK START ADDRESS POINTER
	133054	005013				CLR	(R3)
	133056	113713	150761			MOVB	LDCNT+1,(R3)	;HI-BYTE OF LDCNT IS ADR BITS 18 & 19
	133062	013743	150762			MOV	LDADR,-(R3)	;SETUP ADR BITS 20-35
					
	133066	005737	150750			TST	LDZBLK		;TEN CORE ZERO BLOCK ?
	133072	001425				BEQ	LDRDIN		;NO, LOAD DATA
					
	133074	104100			LDTENZ:	SM			;START MACHINE
	133076	103002				 BCC	3$
	133100	000137	104566			JMP	.XCTER		;FAILED
	133104	005737	147750		3$:	TST	VERIFY
	133110	001015				BNE	2$		;DON'T ZERO IF VERIFY
	133112	012704	150764			MOV	#LDATA,R4
	133116	113702	150760			MOVB	LDCNT,R2	;IS WC = 0 ?
	133122	001410				BEQ	2$		;YES, NO ZEROING
	133124	010301				MOV	R3,R1		;SETUP ADDRESS
	133126	012400			1$:	MOV	(R4)+,R0	;SETUP ZERO COUNT
	133130	104112				D10ZRO			;DEPOSIT ZEROS, CLEARING CORE
	133132	103476				BCS	LD10ER
	133134	012701	147724			MOV	#.DPXAD,R1
	133140	005302				DEC	R2		;COMPLETED ALL ZEROS ?
	133142	001371				BNE	1$		;NOT YET
					
	133144	000676			2$:	BR	$LLD2		;ALL REQUESTED CORE ZEROED.
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 291
	DTA11 PAL[KL,SYS]	Page 16 	PROGRAM FILE LOADER, 4-SEPT-75

					;LOAD TEN DATA
					
					;CALLS "DPOSVR" WITH R0 = LOAD DATA ADDRESS
					;		     R1 = PDP-10 ADDRESS
					
	133146	113702	150760		LDRDIN:	MOVB	LDCNT,R2	;GET LOAD WORD COUNT
	133152	001423				BEQ	2$		;WC = 0, TRANSFER BLOCK
	133154	012704	150764			MOV	#LDATA,R4	;DATA PICKUP ADDRESS
					
	133160	010301			1$:	MOV	R3,R1
	133162	010400				MOV	R4,R0		;SETUP DATA PICKUP ADDRESS
					
	133164	005737	147750			TST	VERIFY
	133170	001047				BNE	LD10V
	133172	104107				DPOSVR			;DEPOSIT & VERIFY
	133174	103423				BCS	LD10VR		;FAILED
		133176			$LRDIN=.
	133176	062723	000001			ADD	#1,(R3)+	;INCREMENT 10 ADDRESS
	133202	005513				ADC	(R3)
	133204	005743				TST	-(R3)
	133206	062704	000006			ADD	#6,R4		;SETUP NEXT DATA PICKUP ADDRESS
	133212	162702	000003			SUB	#3,R2		;DECREMENT WORD COUNT
	133216	003360				BGT	1$		;BR IF NOT DONE YET
	133220	000650				BR	$LLD2		;BACK FOR NEXT LOAD FILE LINE
					
	133222	012704	157204		2$:	MOV	#PGOADR,R4
	133226	012324				MOV	(R3)+,(R4)+	;TRANSFER START ADDRESS
	133230	011314				MOV	(R3),(R4)	;TO GO ADDRESS
	133232	012737	000002	157202		MOV	#2,PGOCTL
	133240	000137	131770			JMP	LDDONE
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 292
	DTA11 PAL[KL,SYS]	Page 17 	PROGRAM FILE LOADER, 4-SEPT-75

	133244	100431			LD10VR:	BMI	LD10ER		;N-BIT SET DEPOSIT FAILED
	133246	001430				BEQ	LD10ER		;Z-BIT SET, EXAMINE FAILED
		133250			LD10VE=.
						PUSH	R0
	133252	104025				$PMSG			;"10 ERR,ADR="
	133254	131743				$$TEN
	133256	012700	147720			MOV	#L10ADR,R0
	133262	104137				PNTADR
					
	133264	104025				$PMSG
	133266	131713				$$COR			;"COR="
	133270	010400				MOV	R4,R0
	133272	104042				PNT36
					
	133274	104025				$PMSG
	133276	131720				$$ACT			;"ACT="
						POP	R0
	133302	104042				PNT36
	133304	104031				PCRLF
	133306	000733				BR	$LRDIN
					
	133310	010100			LD10V:	MOV	R1,R0
	133312	104103				EXAM			;EXAMINE PRESENT CONTENTS
	133314	103405				BCS	LD10ER		;CAN'T EXAMINE
	133316	010001				MOV	R0,R1
	133320	010400				MOV	R4,R0
	133322	104052				CMPR36			;COMPARE WITH LOAD FILE
	133324	103324				BCC	$LRDIN		;OK
	133326	000750				BR	LD10VE		;BAD
					
	133330	104025			LD10ER:	$PMSG			;"10 ERR,ADR="  
	133332	131743				$$TEN
	133334	012700	147720			MOV	#L10ADR,R0
	133340	104137				PNTADR
	133342	000137	100004			JMP	$CNTLC
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 293
	DTA11 PAL[KL,SYS]	Page 18 	PROGRAM FILE LOADER, 4-SEPT-75

					;DEVICE FILE DIRECTORY LOOKUP
					
	133346	104055			DEVFIL:	SETFLG			;INIT DEVICE LINE COUNT
	133350	150744				  DEVLC
	133352	104217				TTPINI			;INIT TTY POINTERS
	133354	005037	150274			CLR	$OUTBF
	133360	005737	157310			TST	DEVTYP		;LOAD FROM WHAT DEVICE ?
	133364	001405				BEQ	DTFIL		;  0 = DECTAPE
	133366	100402				BMI	1$		; -1 = ACT10
	133370	000137	100574			JMP	RPFIL		;  1 = RP04
					
		100574			.IIF NDF RPASB,RPFIL==$CMDER
					.IF NDF MONASB
	133374	000137	100574		1$:	JMP $CMDER
					.IFF
					1$:	JMP	ACTFIL
					.ENDC
					
	133400	005737	157306		DTFIL:	TST	FLOPPY
	133404	001402				BEQ	10$
	133406	104230				RXFILE			;FLOPPY
	133410	000401				BR	11$
	133412	104207			10$:	DTAFILE
	133414	103402			11$:	BCS	1$
	133416	000137	131122			JMP	DTRPLD
	133422	000137	134144		1$:	JMP	$NONXF		;NON-EX FILE
					
					;DECTAPE FORMAT
					;FIRST DIRECTORY BLOCK = 102 (8)
					
					;FILE DIRECTORY BLOCK
					;	LINK TO NEXT BLOCK
					;	1 - FILE NAME 1
					;	2 - FILE NAME 2
					;	3 - FILE EXTENSION
					;	4 - DATE
					;	5 - SPARE
					;	6 - START BLOCK #
					;	7 - LENGTH
					;	8 - END BLOCK #
					;	9 - SPARE
					;FILE DATA BLOCK
					;	LINK TO NEXT BLOCK
					;	255 DATA WORDS
					
					;DECTAPE PROGRAM FILE SEARCH
					
	133426	104156			$DTAFILE:DTINIT			;DECTAPE INITIALIZATION
	133430	005737	157306		DTAFL1:	TST	FLOPPY
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 294
	DTA11 PAL[KL,SYS]	Page 18.1 	PROGRAM FILE LOADER, 4-SEPT-75

	133434	001402				BEQ	20$
	133436	104232				RXRDFL			;FLOPPY READ FILE
	133440	000401				BR	21$
	133442	104211			20$:	DTRDFL			;READ UFD DIRECTORY BLOCK
	133444	103500			21$:	BCS	11$		;EOF, CAN'T FIND FILE
	133446	011000				MOV	(R0),R0		;PUT FIRST BUFFER ADR IN R0
	133450	012701	000034			MOV	#28.,R1		;28 ENTRIES IN DIRECTORY
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 295
	DTA11 PAL[KL,SYS]	Page 19 	PROGRAM FILE LOADER, 4-SEPT-75

	133454	012037	151166		1$:	MOV	(R0)+,DIRST0	;STORE RAD50 NAME
	133460	012037	151170			MOV	(R0)+,DIRST1
	133464	012037	151164			MOV	(R0)+,DTEXT	;STORE RAD50 EXT
	133470	022020				CMP	(R0)+,(R0)+	;SKIP 2 WORDS
	133472	012037	151152			MOV	(R0)+,DTSTRT	;SAVE STARTING BLOCK #
	133476	012037	151154			MOV	(R0)+,DTLNGTH	;SAVE LENGTH
	133502	022020				CMP	(R0)+,(R0)+	;MOVE TO NEXT ENTRY
						PUSH	<R0,R1>
	133510	104155				R50UPK			;UNPACK NAME
	133512	151166		
	133514	151172				 DIRST0,DIRST2
	133516	103446				BCS	10$
	133520	104155				R50UPK
	133522	151170		
	133524	151175				 DIRST1,DIRST3+1
	133526	103442				BCS	10$
	133530	104155				R50UPK			;UNPACK EXTENSION
	133532	151164		
	133534	151156				 DTEXT,DTEXTS
	133536	103436				BCS	10$		;ERROR RETURN
					
	133540	005737	151144			TST	DVDIRF		;DOING "DIR" ?
	133544	001042				BNE	$DTDI1		;YES
					
	133546	012703	151200			MOV	#NAMBF,R3	;LOAD ADDRESS OF INPUT DATA
	133552	012704	151172			MOV	#DIRST2,R4	;LOAD ADDRESS OF TABLE
	133556	012700	000006			MOV	#6,R0		;SET COUNT
	133562	122324			3$:	CMPB	(R3)+,(R4)+	;CHECK NAME DATA
	133564	001023				BNE	10$		;BR IF NOT SAME
	133566	005300				DEC	R0		;DONE 6 TIMES ?
	133570	001374				BNE	3$		;BR IF NOT
	133572	012703	151206			MOV	#EXTBF,R3	;LOAD ADDRESS OF EXT INPUT
	133576	012704	151156			MOV	#DTEXTS,R4	;LOAD ADDRESS OF EXT STOR
	133602	012700	000003			MOV	#3,R0		;SET COUNT 3 CHARS
	133606	122324			6$:	CMPB	(R3)+,(R4)+	;CHECK EXT DATA
	133610	001011				BNE	10$		;BR IF NOT SAME
	133612	005300				DEC	R0		;DONE 3 TIMES ?
	133614	001374				BNE	6$		;BR IF NOT
						POP	<R1,R0>
	133622	013737	151152	151212		MOV	DTSTRT,DVBUF	;LOAD STARTING BLOCK
						EXIT			;NOW GO LOAD FILE
	133630	000137	124062			  JMP	$EXIT
		133634			$DTDI2=.
					10$:	POP	<R1,R0>
	133640	005301				DEC	R1		;BEEN THRU 28 ENTRIES ?
	133642	001304				BNE	1$		;NOT YET
	133644	000671				BR	DTAFL1		;TRY NEXT UFD BLOCK
					
					11$:	EXITERR
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 296
	DTA11 PAL[KL,SYS]	Page 19.1 	PROGRAM FILE LOADER, 4-SEPT-75

	133646	000137	124034			  JMP	$EXITE
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 297
	DTA11 PAL[KL,SYS]	Page 20 	PROGRAM FILE LOADER, 4-SEPT-75

					;DECTAPE/FLOPPY DIRECTORY ROUTINE
					
	133652	005037	151200		$DTDI1:	CLR	NAMBF
	133656	005037	151164			CLR	DTEXT
	133662	022737	020040	151172		CMP	#020040,DIRST2	;DON'T PRINT SPACES
	133670	001414				BEQ	1$
					
	133672	104025				$PMSG			;PRINT "FILE"
	133674	151172				  DIRST2
					
	133676	104032				PSPACE
					
	133700	104025				$PMSG			;PRINT "EXT"
	133702	151156				  DTEXTS
					
	133704	012700	000011			MOV	#TAB,R0
	133710	104027				PNTCHR
	133712	013700	151154			MOV	DTLNGTH,R0
	133716	104037				PNTDEC			;PRINT NUMBER OF BLOCKS
					
	133720	104031				PCRLF
	133722	000744			1$:	BR	$DTDI2		;GO DO NEXT
					
	133724	104022			$DI:	TTITRM
	133726	104044				PNORML
	133730	005737	157310			TST	DEVTYP
	133734	001403				BEQ	$DTDIR		;DECTAPE
	133736	100400				BMI	1$		;ILLEGAL ON ACT10
					.LIF DF RPASB
						JMP	$RPDIR		;RP04
					
	133740	000137	113364		1$:	JMP	$CMDE
					
	133744	104055			$DTDIR:	SETFLG
	133746	151144				  DVDIRF		;SET DIRECTORY FLAG
	133750	005737	157306			TST	FLOPPY
	133754	001402				BEQ	1$
	133756	104230				RXFILE			;FLOPPY
	133760	000401				BR	2$
	133762	104207			1$:	DTAFILE
	133764	000137	100014		2$:	JMP	$CONSL
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 298
	DTA11 PAL[KL,SYS]	Page 21 	PROGRAM FILE LOADER, 4-SEPT-75

					;READ DEVICE FRAME SUBROUTINE
					
	133770	005737	151146		$DVFRAM:TST	DVCNT		;USED ALL DATA ?
	133774	003002				BGT	1$		;NO
					
	133776	104160				DVDATA			;YES, READ NEXT BLOCK
	134000	103431				BCS	DVEOF		;EOF
					
	134002	117700	015142		1$:	MOVB	@DVADR,R0	;GET ONE BYTE
	134006	005237	151150			INC	DVADR		;INCREMENT PICKUP ADDRESS
	134012	005337	151146			DEC	DVCNT		;COUNT IT
	134016	042700	177400			BIC	#177400,R0	;CLEAR JUNK, CHAR IS 8 BITS
	134022	060037	151110			ADD	R0,$CKS11
	134026	000444				BR	$$DVX
					
					;READ DEVICE BUFFER SUBROUTINE
					
					$DVDATA:
					.IF DF RPASB
						TST	DEVTYP
						BNE	4$
					.ENDC
					
	134030	005737	157306			TST	FLOPPY
	134034	001402				BEQ	1$
	134036	104232				RXRDFL			;FLOPPY
	134040	000401				BR	11$
	134042	104211			1$:	DTRDFL			;DECTAPE READ
	134044	103405			11$:	BCS	3$		;EOF
	134046	012037	151150		2$:	MOV	(R0)+,DVADR	;SAVE BUFFER ADDRESS
	134052	011037	151146			MOV	(R0),DVCNT	;SAVE BUFFER BYTE COUNT
	134056	000430				BR	$$DVX
					
					3$:	EXITERR			;EOF
	134060	000137	124034			  JMP	$EXITE
					
					.IF DF RPASB
					4$:	MOV	#FILDSB,R0
						RPRDFL			;RP04 FILE DATA BLOCK READ
						BCC	2$
					
						CMP	#1,R0		;ERROR, EOF ?
						BEQ	DVEOF		;YES
						RPERROR			;NO, JUST ERROR
					.ENDC
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 299
	DTA11 PAL[KL,SYS]	Page 22 	PROGRAM FILE LOADER, 4-SEPT-75

	134064	005737	150754		DVEOF:	TST	LDCNTL		;EOF, PRINTING A HELP FILE ?
	134070	100404				BMI	1$		;YES
						PMSG	<\EOF ?>
	134072	104025				  $PMSG
	134074	147020				  $$CLIT
	134076	000137	100004			JMP	$CNTLC
	134102	000137	140510		1$:	JMP	DAHLPD
					
					;ASSEMBLE ONE 16 BIT DATA WORD
					
	134106	104163			$DVWRD:	DVFRAM			;READ FRAME
	134110	010037	151106			MOV	R0,LTMP
	134114	104163				DVFRAM			;GET ANOTHER FRAME
	134116	000300				SWAB	R0		;PLACE IN HIGH ORDER BYTE
	134120	050037	151106			BIS	R0,LTMP		;PUT 2 BYTES TOGETHER
	134124	013700	151106			MOV	LTMP,R0		;PUT BACK IN R0
	134130	000403				BR	$$DVX
					
					;DECTAPE INITIALIZATION
					
	134132	012737	000102	151212	$DTINIT:MOV	#102,DVBUF	;SET STARTING BLOCK NUMBER
					$$DVX:	EXIT
	134140	000137	124062			  JMP	$EXIT
					
					;FILE NOT FOUND
					
	134144	005737	151140		$NONXF:	TST	DIAFLG		;DOING "DIAMON" FILE SELECTION ?
	134150	001402				BEQ	1$		;NO
	134152	000137	112234			JMP	DIANF		;YES, "DIAMON" FILE NOT FOUND
					
					1$:	PMSG	<NON-EX FILE>
	134156	104025				  $PMSG
	134160	147027				  $$CLIT
	134162	000137	100004			JMP	$CNTLC
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 300
	DTA11 PAL[KL,SYS]	Page 23 	PROGRAM FILE LOADER, 4-SEPT-75

					;RAD50 UNPACK SUBROUTINE
					
	134166	062766	000004	000012	$R50UPK:ADD	#4,12(SP)	;RETURN OVER TRAILING PARAMETERS
						PUSH	R0
	134176	013705	147654			MOV	$EMADR,R5
	134202	012504				MOV	(R5)+,R4	;RAD50 ADDRESS TO R4
	134204	011404				MOV	(R4),R4		;RAD50 VALUE TO R4
	134206	011503				MOV	(R5),R3		;STORE ADDRESS TO R3
	134210	012701	000002			MOV	#2,R1
	134214	012746	777777			MOV	#-1,-(6)	;SET STACK STOP
	134220	010446			1$:	MOV	R4,-(6)		;SAVE PREVIOUS VALUE
	134222	005004				CLR	R4		;CLEAR R4 FOR NEXT REMAINDER
	134224	011600			2$:	MOV	(6),R0		;TAKE 3/4 OF VALUE
	134226	151700				BISB	@PC,R0		;???????
	134230	010002				MOV	R0,R2
	134232	006002				ROR	R2
	134234	006202				ASR	R2
	134236	160200				SUB	R2,R0
	134240	042700	000037			BIC	#37,R0		;PREPARE TO TAKE 1/4 OF RESULT
	134244	160016				SUB	R0,(6)		;BUT REDUCE ORIGINAL BY 3/4
	134246	006000				ROR	R0		;GET 3/16 OF ORIGINAL
	134250	006200				ASR	R0
	134252	160016				SUB	R0,(6)
	134254	060004				ADD	R0,R4		;THIS GIVES 1ST APPROXIMATION
	134256	021627	000047			CMP	(6),#47		;LOW AS POSSIBLE ?
	134262	101360				BHI	2$		;IF SO THIS IS BYTE REQUIRED
	134264	006204				ASR	R4
	134266	006204				ASR	R4
	134270	006204				ASR	R4
	134272	005301				DEC	R1		;DONE 2 BYTES ?
	134274	001351				BNE	1$		;BR IF NOT
	134276	120427	000047			CMPB	R4,#47		;LAST BYTE TOO BIG ?
	134302	101005				BHI	4$		;IF YES, ERROR
	134304	105704			3$:	TSTB	R4		;SPACE ?
	134306	001414				BEQ	6$		;IF YES, ADD 40
	134310	120427	000035			CMPB	R4,#35		;IF UNUSED CODE ....
	134314	001003				BNE	5$
	134316	012704	000130		4$:	MOV	#'X,R4		;ASCII X TO R4
	134322	000414				BR	9$		;GO TO ERROR EXIT
	134324	120427	000033		5$:	CMPB	R4,#33		;$ ?
	134330	001407				BEQ	8$		;IF YES, GO ADD 11
	134332	101004				BHI	7$		;FOR DIGIT OR DOT ADD 22
	134334	062704	000040			ADD	#40,R4		;FOR LETTER ADD 100
	134340	062704	000016		6$:	ADD	#16,R4
	134344	062704	000011		7$:	ADD	#11,R4
	134350	062704	000011		8$:	ADD	#11,R4
	134354	110423			9$:	MOVB	R4,(3)+		;STORE RESULT
	134356	012604				MOV	(6)+,R4		;GET NEXT BYTE
	134360	100351				BPL	3$		;BR IF NOT STACK STOP
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 301
	DTA11 PAL[KL,SYS]	Page 23.1 	PROGRAM FILE LOADER, 4-SEPT-75

						POP	R0
	134364	000665			$$$DVX:	BR	$$DVX
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 302
	DTA11 PAL[KL,SYS]	Page 24 	PROGRAM FILE LOADER, 4-SEPT-75

					;DECTAPE READ/WRITE FILE ROUTINES
					
	134366	005737	151212		$DTRDFL:TST	DVBUF		;ANY DATA BLOCKS REMAINING ?
	134372	001002				BNE	$DTRFL		;YES
					$$DTXE:	EXITERR			;NO
	134374	000137	124034			  JMP	$EXITE
					
	134400	013737	151212	151072	$DTRFL:	MOV	DVBUF,DTBLK	;SET REQUESTED BLOCK
	134406	012737	151212	151074		MOV	#DVBUF,CASAV	;SET BUFFER ADDRESS
	134414	012737	777400	151076		MOV	#-256.,WCSAV	;SET WORD COUNT
					
	134422	104161				DTREAD			;DECTAPE READ
	134424	103404				 BCS	$$DTXC		;FAILED
					
	134426	012700	134464			MOV	#$DTINFO,R0
					$$DTX:	EXIT
	134432	000137	124062			  JMP	$EXIT
					
	134436	000137	100004		$$DTXC:	JMP	$CNTLC		;FAILED
					
	134442	012737	151212	151074	$DTWTFL:MOV	#DVBUF,CASAV
	134450	012737	777400	151076		MOV	#-256.,WCSAV
					
	134456	104205				DTWRT			;WRITE DECTAPE
	134460	103364				 BCC	$$DTX		;OK
	134462	000765				BR	$$DTXC		;FAILED
					
	134464	151214			$DTINFO:DVBUF+2			;FIRST USABLE DATA WORD
	134466	000776				510.			;BYTE COUNT
					
	134470	012700	151072		$DTBASE:MOV	#DTBLK,R0	;RETURN PARAMETER BASE ADDRESS
	134474	000756				BR	$$DTX
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 303
	DTA11 PAL[KL,SYS]	Page 25 	PROGRAM FILE LOADER, 4-SEPT-75

					;DECTAPE DEVICE READ/WRITE ROUTINE
					
	134476	012700	000005		$DTREAD:MOV	#TCRDATA+TCDO,R0
	134502	000402				BR	$DTXFR
					
	134504	012700	000015		$DTWRT:	MOV	#TCWDATA+TCDO,R0
					
	134510	010037	151100		$DTXFR:	MOV	R0,DTXCMD	;SAVE COMMAND
	134514	012737	000003	151102		MOV	#3,TRYCTR	;SET MAXIMUM TRY COUNT, 3.
					
	134522	113704	157277		$DTXF1:	MOVB	DTUNIT+1,R4	;SETUP UNIT
	134526	013737	151076	177344		MOV	WCSAV,@#TCWC	;SETUP WORD COUNT
	134534	013737	151074	177346		MOV	CASAV,@#TCBA	;SETUP READ ADDRESS
	134542	012700	000003			MOV	#TCRNUM+TCDO,R0
	134546	012701	177342			MOV	#TCCM,R1
	134552	012703	004000			MOV	#TCREV,R3
	134556	013702	151072			MOV	DTBLK,R2	;SETUP BLOCK # AND DIRECTION
	134562	100004				BPL	$DTXF2
	134564	005402				NEG	R2
	134566	062704	000010			ADD	#10,R4		;REVERSE, SET REV INDICATOR
	134572	050300				BIS	R3,R0		;START UP IN REVERSE
					
	134574	012737	000006	151114	$DTXF2:	MOV	#6,REVCNT	;SET MAXIMUM REVERSAL COUNT, 6.
	134602	005037	151112			CLR	INTSW		;SET INTSW FOR SEARCH
					
					$DTXF3:	PUSH	R3
	134610	004737	120666			JSR	PC,$TIRDY	;ANY OPERATOR INTERRUPTS ?
	134614	103413				BCS	2$		;NO
	134616	113703	147764			MOVB	$TICHR,R3	;GET CHAR
	134622	142703	000200			BICB	#200,R3
	134626	122703	000003			CMPB	#CNTRLC,R3	;IS IT CONTROL C ?
	134632	001004				BNE	2$		;NO
	134634	042711	000116			BIC	#116,(R1)	;YES, STOP DECTAPE
	134640	000137	120522			JMP	$TICC		;AND ABORT
					2$:	POP	R3
	134646	053700	157276			BIS	DTUNIT,R0	;SELECT UNIT
	134652	010011				MOV	R0,(R1)		;SET TCCM
	134654	032711	100200		1$:	BIT	#TCERR+TCRDY,(R1) ;WAIT FOR DONE OR ERROR
	134660	001775				BEQ	1$
	134662	100445				BMI	DTER		;BR IF ERROR
	134664	105737	151112			TSTB	INTSW		;SEARCH OR TRANSFER ?
	134670	001110				BNE	DATINT		;BR IF TRANSFER
	134672	023702	177350			CMP	@#TCDT,R2	;BLOCK MATCH ?
	134676	001423				BEQ	DTSRF		;BR IF YES
	134700	003011				BGT	DTSRE		;BR IF LARGER
	134702	030311				BIT	R3,(R1)		;SMALLER, REVERSE ?
	134704	001740				BEQ	$DTXF3		;FORWARD, CONTINUE DIRECTION
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 304
	DTA11 PAL[KL,SYS]	Page 26 	PROGRAM FILE LOADER, 4-SEPT-75

	134706	062737	000003	177350	DTSRA:	ADD	#3,@#TCDT	;+3 TO TCDT
	134714	023702	177350			CMP	@#TCDT,R2	;LOWER BY 3 OR MORE ?
	134720	101461				BLOS	DTREV		;YES, GO REVERSE
	134722	000731				BR	$DTXF3		;NO, CONTINUE DIRECTION
					
	134724	030311			DTSRE:	BIT	R3,(R1)		;BLK HIGH, CHECK DIRECTION
	134726	001327				BNE	$DTXF3		;BR IF REV, CONTINUE DIRECTION
	134730	162737	000003	177350		SUB	#3,@#TCDT	;FWD, -3 TO TCDT
	134736	020237	177350			CMP	R2,@#TCDT	;HIGHER BY 3 OR MORE ?
	134742	003450				BLE	DTREV		;REVERSE IF HIGHER BY 3 OR MORE
	134744	000720				BR	$DTXF3		;NO, CONTINUE DIRECTION
					
	134746	123704	177343		DTSRF:	CMPB	@#TCCM1,R4	;BLOCK SAME, SAME DIRECTION ?
	134752	001315				BNE	$DTXF3		;BR IF NOT, CONTINUE SEARCH
	134754	105137	151112		$DTXF4:	COMB	INTSW		;WANTED ???
	134760	113700	151100			MOVB	DTXCMD,R0	;SET UP XFER COMMAND
	134764	005737	151072			TST	DTBLK
	134770	100306				BPL	$DTXF3		;FORWARD READ
	134772	050300				BIS	R3,R0		;REVERSE READ
	134774	000704				BR	$DTXF3
					
	134776	105737	151112		DTER:	TSTB	INTSW		;SEARCH OR XFER ?
	135002	001003				BNE	DTERA		;BR IF XFER
	135004	005737	177340			TST	@#TCST		;END ZONE ?
	135010	100425				BMI	DTREV		;BR IF YES, TO REVERSE
	135012	032737	063000	177340	DTERA:	BIT	#TCSOFT,@#TCST	;CHECK FOR SOFT ERROR
	135020	001414				BEQ	DTHDER		;BR IF NOT SOFT ERROR
	135022	105337	151102			DECB	TRYCTR		;3RD TRY ?
	135026	001667				BEQ	$DTXF3		;BR IF YES
	135030	000634				BR	$DTXF1		;GO TRY AGAIN
					
	135032	042711	000116		DTERB:	BIC	#116,(R1)	;STOP DECTAPE
						PMSG	<?SOFT>
	135036	104025				  $PMSG
	135040	147043				  $$CLIT
					DTERC:	PMSG	< DTA ERR>
	135042	104025				  $PMSG
	135044	147051				  $$CLIT
						EXITERR
	135046	000137	124034			  JMP	$EXITE
					
	135052	042711	000116		DTHDER:	BIC	#116,(R1)	;STOP DECTAPE
						PMSG	<?HARD>
	135056	104025				  $PMSG
	135060	147062				  $$CLIT
	135062	000767				BR	DTERC
					
	135064	060300			DTREV:	ADD	R3,R0		;CHANGE DIRECTION
	135066	042700	010000			BIC	#BIT12,R0
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 305
	DTA11 PAL[KL,SYS]	Page 26.1 	PROGRAM FILE LOADER, 4-SEPT-75

	135072	105337	151114		DTREVC:	DECB	REVCNT		;6TH REVERSAL ?
	135076	001243				BNE	$DTXF3		;BR IF NOT
	135100	042711	000116			BIC	#116,(R1)	;STOP DECTAPE
						PMSG	<?REV>
	135104	104025				  $PMSG
	135106	147070				  $$CLIT
	135110	000754				BR	DTERC
					
	135112	042711	000116		DATINT:	BIC	#116,(R1)	;STOP DECTAPE
						EXIT			;DONE
	135116	000137	124062			  JMP	$EXIT
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 306
	DTA11 PAL[KL,SYS]	Page 27 	ASCR50	ASCII TO RAD50 CONVERSION ROUTINE

					.SBTTL	ASCR50	ASCII TO RAD50 CONVERSION ROUTINE
					
					;CALL:
					;	ASCR50
					;	  ASCII ADDRESS
					;	  RAD50 ADDRESS
					;NINE BYTES OF ASCII INPUT
					;THREE WORDS OF RAD50 OUTPUT
					
	135122	062766	000004	000012	$ASCR50:ADD	#4,12(SP)	;RETURN OVER TRAILING PARAMETERS
						PUSH	R0
	135132	013705	147654			MOV	$EMADR,R5
	135136	012501				MOV	(R5)+,R1	;SETUP ASCII ADDRESS
	135140	011504				MOV	(R5),R4		;SETUP RAD50 STORAGE ADDRESS
	135142	012703	066600			MOV	#066600,R3
	135146	005014			1$:	CLR	(R4)		;RESULT WORD
	135150	012700	135240		2$:	MOV	#30$,R0		;SETUP SCAN TABLE
	135154	112002			3$:	MOVB	(R0)+,R2	;PUT CONVERSION IN R2
	135156	001425				BEQ	20$		;IF END OF TABLE, ERROR
	135160	121120				CMPB	(R1),(R0)+	;COMPARE ASCII CHAR
	135162	103423				BLO	20$		;IF LESS THAN TABLE ENTRY, ERROR
	135164	121120				CMPB	(R1),(R0)+
	135166	101372				BHI	3$		;LOOP, HAVEN'T FOUND YET
	135170	112100				MOVB	(R1)+,R0	;FOUND, ASCII CHAR TO R0
	135172	060200				ADD	R2,R0		;CONVERT
	135174	006314				ASL	(R4)
	135176	006314				ASL	(R4)
	135200	006314				ASL	(R4)
	135202	061400				ADD	(R4),R0
	135204	006314				ASL	(R4)
	135206	006314				ASL	(R4)
	135210	060014				ADD	R0,(R4)
	135212	006303				ASL	R3		;SHIFT RAD50 WORD COUNTER
	135214	100755				BMI	2$		;NOT DONE WITH THIS RAD50 YET
	135216	001402				BEQ	10$		;IF 0, ALL DONE
	135220	005724				TST	(R4)+		;STEP TO NEXT RAD50 WORD
	135222	000751				BR	1$		;GO DO NEXT
					10$:	POP	R0
						EXIT
	135226	000137	124062			  JMP	$EXIT
					20$:	POP	R0
						EXITERR
	135234	000137	124034			  JMP	$EXITE
					
	135240	   340		
	135241	   040		
	135242	   040			30$:	.BYTE	340,' ,' 	;SPACE
	135243	   367		
	135244	   044		
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 307
	DTA11 PAL[KL,SYS]	Page 27.1 	ASCR50	ASCII TO RAD50 CONVERSION ROUTINE

	135245	   044				.BYTE	367,'$,'$	;DOLLAR SIGN
	135246	   356		
	135247	   056		
	135250	   056				.BYTE	356,'.,'.	;PERIOD
	135251	   356		
	135252	   060		
	135253	   071				.BYTE	356,'0,'9	;DIGITS
	135254	   300		
	135255	   101		
	135256	   132				.BYTE	300,'A,'Z	;UPPER CASE LETTERS
					;	.ENABL	LC
	135257	   240		
	135260	   141		
	135261	   172				.BYTE	240,'a,'z	;LOWER CASE LETTERS
	135262	   000				.BYTE	0		;INDICATE THE END OF THE TABLE
		135264				.EVEN
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 308
	KLDCP PAL[KL,SYS]	Page 5.6 	ASCR50	ASCII TO RAD50 CONVERSION ROUTINE

					
								;Disk boot for WAITS
					.LIF DF BOOASB
					  .INSRT  BOOT.PAL
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 309
	BOOT PAL[KL,SYS]	Page 1 	ASCR50	ASCII TO RAD50 CONVERSION ROUTINE

				COMMENT ⊗   VALID 00003 PAGES
				C REC  PAGE   DESCRIPTION
				C00001 00001
				C00002 00002	.SBTTL DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT
				C00005 00003	$DS   DS command  to copy DSKDMP BOOT into KL10 and start it.
				C00007 ENDMK
					C⊗;
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 310
	BOOT PAL[KL,SYS]	Page 2 	DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT

					.SBTTL DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT
					
					;bootbg is located in 11 high core (152210)
					;bootsz is 2260
					
					;LD Command to load the bootstrap code from the dectape into 11 memory.
					
					.IF DF BOOASB
					
					;LOAD DSKDMP BOOTSTRAP
	135264	012703	147722		LDBOOT:	MOV #L10ADR+2,R3	;SETUP BLOCK START ADDRESS POINTER
	135270	005013				CLR (R3)
	135272	113713	150761			MOVB LDCNT+1,(R3)	;HI-BYTE OF LDCNT IS ADR BITS 18 & 19
	135276	013743	150762			MOV LDADR,-(R3)		;SETUP ADR BITS 20-35
	135302	005737	150750			TST LDZBLK		;IS IT A Z LINE?
	135306	001437				BEQ LDBDAT		;NO, LOAD DATA
	135310	012337	152302			MOV (R3)+,BOOTBG	;STARTING ZERO ADDRESS (LOW 16 BITS)
	135314	011337	152304			MOV (R3),BOOTBG+2	; HIGH TWO BITS (18 AND 19)
	135320	005001				CLR R1
	135322	012702	150764			MOV #LDATA,R2
	135326	113703	150760			MOVB LDCNT,R3
	135332	062201			1$:	ADD (R2)+,R1		;ACCUMULATE TOTAL # WORDS TO ZERO
	135334	005303				DEC R3
	135336	001375				BNE 1$
	135340	010102				MOV R1,R2
						SL R1,1
	135344	060201				ADD R2,R1		;TIMES 3 IS NUMBER OF PDP-11 WORDS
	135346	020127	002260			CMP R1,#BOOTSZ
	135352	003404				BLE 2$			;BRANCH IF SMALL ENOUGH
						PMSG <?BOOT TOO LONG>
	135354	104025				  $PMSG
	135356	147075				  $$CLIT
	135360	000137	100004			JMP $CNTLC
					
	135364	012701	152312		2$:	MOV #BOOTBF,R1
	135370	012702	002260			MOV #BOOTSZ,R2
	135374	005021			3$:	CLR (R1)+
	135376	005302				DEC R2
	135400	001375				BNE 3$			;CLEAR OUT THE BOOT BUFFER
	135402	000137	131146		LDBLD2:	JMP LLD2		;DO NEXT LINE
					
	135406	113700	150760		LDBDAT:	MOVB LDCNT,R0		;WC
	135412	001421				BEQ LDBXFR		;WC=0 MEANS TRANSFER BLOCK
	135414	012701	150764			MOV #LDATA,R1
	135420	013702	150762			MOV LDADR,R2
	135424	163702	152302			SUB BOOTBG,R2		;GET OFFSET FROM START OF BUFFER
	135430	010203				MOV R2,R3
						SL R2,2
						SL R3,1
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 311
	BOOT PAL[KL,SYS]	Page 2.1 	DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT

	135440	060302				ADD R3,R2		;TIMES 6 GIVES BYTE OFFSET FROM BOOTBF
	135442	062702	152312			ADD #BOOTBF,R2
	135446	012122			5$:	MOV (R1)+,(R2)+		;COPY A WORD
	135450	005300				DEC R0
	135452	001375				BNE 5$
	135454	000752				BR LDBLD2
					
	135456	012337	152306		LDBXFR:	MOV (R3)+,BOOTSA
	135462	011337	152310			MOV (R3),BOOTSA+2	;SAVE AWAY STARTING ADDRESS
	135466	000137	131770			JMP LDDONE
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 312
	BOOT PAL[KL,SYS]	Page 3 	DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT

					;$DS   DS command  to copy DSKDMP BOOT into KL10 and start it.
					
	135472	104022			$DS:	TTITRM
	135474	005737	152306			TST BOOTSA
	135500	001007				BNE 2$
	135502	005737	152310			TST BOOTSA+2
	135506	001004				BNE 2$
						PMSG <?LOAD DSKDMP - USE LD>
	135510	104025				  $PMSG
	135512	147114				  $$CLIT
	135514	000137	100004			JMP $CNTLC
					
	135520	023727	157262	000036	2$:	CMP PEBITS,#36
	135526	001410				BEQ 3$
	135530	023727	157262	000037		CMP PEBITS,#37
	135536	001404				BEQ 3$
						PMSG <FIX PARITY ENABLES - PE 36>
	135540	104025				  $PMSG
	135542	147142				  $$CLIT
	135544	000137	100004			JMP $CNTLC
					
	135550	023727	157252	000017	3$:	CMP CLKDFL+4,#17
	135556	001402				BEQ 4$
						PMSG <SOME CACHE DISABLED - USE CE 17\>
	135560	104025				  $PMSG
	135562	147175				  $$CLIT
	135564	012703	147722		4$:	MOV #L10ADR+2,R3
	135570	013713	152304			MOV BOOTBG+2,(R3)
	135574	013743	152302			MOV BOOTBG,-(R3)
	135600	012702	000620			MOV #BOOTWD,R2		;NUMBER OF PDP-10 WORDS IN BUFFER
	135604	012704	152312			MOV #BOOTBF,R4
	135610	104076				MRESET
	135612	104100				SM
	135614	010301			1$:	MOV R3,R1
	135616	010400				MOV R4,R0
	135620	104107				DPOSVR
	135622	103420				BCS DSVER
	135624	005213				INC (R3)		;STAY IN SAME 64K SECTION
	135626	062704	000006			ADD #6,R4		;NEXT PDP-10 WORDS WORTH
	135632	005302				DEC R2
	135634	001367				BNE 1$
	135636	012704	157204			MOV #PGOADR,R4
	135642	013724	152306			MOV BOOTSA,(R4)+
	135646	013714	152310			MOV BOOTSA+2,(R4)
	135652	012737	000002	157202		MOV #2,PGOCTL
	135660	000137	113216			JMP $$GO		;START IT UP
					
					DSVER:	PMSG <DEX ERROR IN DS>
	135664	104025				  $PMSG
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 313
	BOOT PAL[KL,SYS]	Page 3.1 	DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT

	135666	147236				  $$CLIT
	135670	000137	100004			JMP $CNTLC
					
					.ENDC ;IF DF BOOASB
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 314
	KLDCP PAL[KL,SYS]	Page 5.7 	DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT

					
								;RX01 floppies
					.LIF DF RXASB
					  .INSRT  FLOPPY.PAL
					
								;RP04 disk
					.LIF DF RPASB
					  .INSRT  RP0411.PAL
					
								;queued message protocol
					.LIF DF %%QMP
					  .INSRT  QMP11.PAL
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 315
	QMP11 PAL[KL,SYS]	Page 1 	DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT

				COMMENT ⊗   VALID 00015 PAGES
				C REC  PAGE   DESCRIPTION
				C00001 00001
				C00003 00002	 MACROS AND QUEUE ENTRY DEFINITIONS
				C00005 00003		ETHERNET OUTPUT COMPLETION INTERRUPT ROUTINE 	ENOINT, SNDEN, SNDENR
				C00010 00004	 ENIINT	ETHERNET INPUT COMPLETION INTERRUPT ROUTINE
				C00017 00005	 DTEINT, DTE10D Interrupt routines
				C00020 00006	 DTE11D - COMPLETION OF TO11 TRANSFER FROM DTE
				C00026 00007	 QMPCMD - ROUTINE CALLED FROM KLDCP WHEN 10 SENDS ITEM COUNT
				C00029 00008	 SND10 -  ROUTINE TO QUEUE BLOCK FOR XFER TO 10
				C00032 00009	 QINI - ROUTINE TO INITIALIZE QUEUE STRUCTURES
				C00035 00010	 $QUEUE - GENERALIZED QUEUE ROUTINE
				C00037 00011	 QMPINI - ROUTINE TO INITIALIZE INTERRUPT ADDRESSES ETC.
				C00040 00012	 RQCB/RLCB: first fit dynamic core allocation routines
				C00042 00013	 $RLCB - ReLease Core Block
				C00046 00014	 $RQCB - REQUEST CORE BLOCK
				C00050 00015	 $SAVAL, $SAVVR, $SAVRG  Register Save and Restore Co-routines
				C00054 ENDMK
					C⊗;
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 316
	QMP11 PAL[KL,SYS]	Page 2 	DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT

					; MACROS AND QUEUE ENTRY DEFINITIONS
					;
					
						.MACRO	CALL	A
						JSR	PC,A
						.ENDM
					
						.MACRO	RETURN
						RTS	PC
						.ENDM
					
						.MACRO	SAVAL
						JSR	PC,$SAVAL
						.ENDM
					 
						.MACRO	SAVVR
						JSR	R2,$SAVVR
						.ENDM
					
						.MACRO	SAVRG
						JSR	R5,$SAVRG
						.ENDM
					 
						.MACRO QUEUE	A
						JSR	R5,$QUEUE
						.WORD	A
						.ENDM
					 
						.MACRO	QCLR	A
						JSR	R5,$QCLR
						.WORD	A
						.ENDM
					 
					; THE FOLLOWING DEFINITIONS ARE FOR QUEUE HEADERS
					;
		000000			QCHN=0		; OFFSET TO CHAIN POINTER IN QUEUE ENTRY
		000002			QSIZ=2		; OFFSET FROM ENTRY TO BYTE COUNT FOR QUEUE ENTRY
		000004			QREQ=4		; OFFSET FROM ENTRY TO REQUEST VALUE FOR QUEUE ENTRY
		000006			QENWC=6		; OFFSET TO ETHERNET PACKET WORD COUNT
		000010			QENMSG==10	; OFFSET TO START OF EN MESSAGE INSIDE QUEUE BLOCK
					;
		000006			QHDRSZ=6	; SIZE OF QUEUE ENTRY HEADER
					;
		000000			QNOPMS=0	; This packet is a no-op
		000001			QECHRY=1	; THIS PACKET IS AN ECHO RESPONSE
		000002			QECHRQ=2	; REQUEST for an echo response
		000003			QENPKT=3	; An ethernet packet
		000004			QENADR=4	; An ethernet host address.
		000005			QDTMSG=5	; Dectape message
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 317
	QMP11 PAL[KL,SYS]	Page 2.1 	DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT

		000006			QENBCC=6	; Ethernet broadcast-packet control command
					;
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 318
	QMP11 PAL[KL,SYS]	Page 3 	DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT

					;	ETHERNET OUTPUT COMPLETION INTERRUPT ROUTINE 	ENOINT, SNDEN, SNDENR
					;
					;JJW 11/85 Code commented out on this page is replaced by new retry code.
					;
					ENOINT:	CALL	1$		; CALL THE REAL INTERRUPT HANDLER
	135674	004737	135702			JSR	PC,1$
	135700	000002				RTI			; THEN RETURN FROM INTERRUPT
					;
					; THIS INTERRUPT HANDLER WILL SAVE AND RESTORE REGISTERS
					;
					1$:	SAVVR			; SAVE REGS R0-R2
	135702	004237	140376			JSR	R2,$SAVVR
	135706	005737	160024			TST	ENOCSR		; TEST FOR ERROR INDICATION
	135712	100417				BMI	3$		; IF MI THEN COLLISION OR OTHER ERROR
	135714	005237	157130			INC	EN0PKO		; INCREMENT COUNT OF SUCCESSFUL I/OS
	135720	013700	157066		2$:	MOV	ENETQ,R0	; GET QUEUE ADDRESS TO RELEASE BLOCK
	135724	001425				BEQ	5$		; QUEUE EMPTY, MAYBE QUEUE RESET?
	135726	011037	157066			MOV	(R0),ENETQ	; UNCHAIN BLOCK FROM QUEUE
	135732	001002				BNE	21$		; IF NE THEN MORE IN CHAIN
	135734	005037	157070			CLR	ENETQ+2		; IF QUEUE EMPTY, ZERO NEWEST POINTER
					21$:
						CALL	QGIVE		; NOW GO RELEASE THE CORE BLOCK
	135740	004737	137120			JSR	PC,QGIVE
						CALL	SNDEN		; CHECK ETHERNET QUEUE AND RESTART I/O
	135744	004737	136006			JSR	PC,SNDEN
						RETURN			; RETURN FROM INTERRUPT
	135750	000207				RTS	PC
					
					;;3$:	INC	EN0ER1		; STEP TOTAL RETRY COUNT
					;;	DEC	EN0TRY		; DECREMENT CURRENT RETRY COUNT
					;;	BGT	4$		; OK, RETRY THE MESSAGE AGAIN
					;;	INC	EN0PER		; STEP COUNT OF PERMANENT ERRORS
					;;	BR	2$		; THROW THE BUFFER AWAY, TRY NEXT
					;;
					;;4$:	CALL	SNDENR		; RETRY THE CURRENT BUFFER
					;;	RETURN			; AND RETURN
					
					;JJW 11/85 New retry code
	135752	005237	157126		3$:	INC	EN0ER1		;Step total retry count
	135756	006337	157076			ASL	EN0DLY		;Double previous delay amount
	135762	100403				BMI	4$		;Jump if too much
						CALL	SNDENR		;Retry the current buffer
	135764	004737	136014			JSR	PC,SNDENR
						RETURN
	135770	000207				RTS	PC
					
	135772	005237	157124		4$:	INC	EN0PER		;Step count of permanent errors
	135776	000750				BR	2$		;Throw the buffer away, try next
					;JJW 11/85 end new code
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 319
	QMP11 PAL[KL,SYS]	Page 3.1 	DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT

					
	136000	005037	160024		5$:	CLR	ENOCSR		; CLEAR INTERRUPT ENABLE BIT
						RETURN
	136004	000207				RTS	PC
					
					
					; SNDEN SNDENR - Transmit message at head of ENET Queue to the Ethernet
					;
					;SNDENR is the entry point for a retry.
					;
					;;SNDEN:MOV	#10,EN0TRY		; SET DEFAULT RETRY COUNT
					;JJW 11/85 begin new code
	136006	012737	000001	157076	SNDEN:	MOV	#1,EN0DLY	;Start delay at 1
					;Jeff Mogul says we should set the delay to about 50 if the previous packet
					;dest was same as this (or was a broadcast), to prevent back-to-back packets
					;being thrown away by the receiver's interface.  We don't do this yet.
					;JJW 11/85 end new code
	136014	013700	157066		SNDENR:	MOV	ENETQ,R0		; GET ADDRESS OF NEXT QUEUE ENTRY
	136020	001422				BEQ	3$			; NOTHING IN QUEUE
	136022	016001	000006			MOV	QENWC(R0),R1		; GET PACKET WORD COUNT FROM BLOCK
	136026	003001				BGT	1$			; IF GT THEN CONTINUE
	136030	104000				FATAL				; OTHERWISE INDICATE ERROR
					
	136032	005401			1$:	NEG	R1			; MAKE 2'S COMPLEMENT FOR I/O
	136034	010137	160020		2$:	MOV	R1,ENOWC		; SET WORD COUNT IN EN DEVICE
	136040	062700	000010			ADD	#QENMSG,R0		; POINT TO DATA IN QUEUE ENTRY
	136044	010037	160022			MOV	R0,ENOWA		; SET WORD ADDRESS IN EN DEVICE
					;;	MOV	EN0TRY,R2		; USE RETRY VALUE TO SET DELAY
					;;	MOV	EN0DLY(R2),ENODLY	; SET DELAY VALUE IN EN DEVICE
					;JJW 11/85 begin new code
	136050	013737	157076	160026		MOV	EN0DLY,ENODLY	;Set delay value in interface
					;JJW 11/85 end new code
	136056	012737	000101	160024		MOV	#101,ENOCSR		; SET GO AND INTERRUPT ENABLE
						RETURN				; AND RETURN
	136064	000207				RTS	PC
					
	136066	005037	160024		3$:	CLR	ENOCSR			; CLEAR INT ENABLE AND GO
						RETURN
	136072	000207				RTS	PC
					;
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 320
	QMP11 PAL[KL,SYS]	Page 4 	DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT

					; ENIINT	ETHERNET INPUT COMPLETION INTERRUPT ROUTINE
					;
					;	ENTERED AT COMPLETION OF ETHERNET INPUT
					;
					ENIINT:	CALL	1$		; CALL THE REAL INTERRUPT HANDLER
	136074	004737	136102			JSR	PC,1$
	136100	000002				RTI			; AND RETURN FROM INTERRUPT
					;
					1$:	SAVVR			; SAVE REGS R0-R2
	136102	004237	140376			JSR	R2,$SAVVR
	136106	010346				MOV	R3,-(SP)	; AND ONE MORE
	136110	012703	000002			MOV	#2,R3		; Select other input buffer
	136114	163703	157110			SUB	EN0IND,R3
	136120	010346				MOV	R3,-(SP)	; Save on index to input buffer on stack
	136122	013746	160034			MOV	ENICSR,-(SP)	; Save status of this packet
	136126	013746	160030			MOV	ENIWC,-(SP)	; Save residual word count
						CALL	ENISET		; Start reading next packet
	136132	004737	136320			JSR	PC,ENISET
	136136	013703	157110			MOV	EN0IND,R3	; Now, select regular buffer
	136142	012601				MOV	(SP)+,R1	; GET RESIDUAL WORD COUNT IN R1
	136144	005726				TST	(SP)+		; CHECK FOR OVERRUN OR COLLISION
	136146	100003				BPL	2$		; IF PL THEN GOOD PACKET RECIEVED
	136150	005237	157120			INC	EN0ER2		; INCREMENT COUNT OF INPUT PERM ERRS
	136154	000446				BR	3$		; AND RESTART THE I/O
					
	136156	005237	157122		2$:	INC	EN0PKI		; INCREMENT COUNT OF INPUT PACKETS
	136162	052701	177000			BIS	#177000,R1	; INTERFACE REQUIRES THIS CROCK
					.IF DF PCKASB
	136166	016300	157112			MOV	EN0BUF(R3),R0
	136172	162700	000010			SUB	#QENMSG,R0	; Pretend we're a queue block
						CALL	ENPCHK		; Check to see if it got clobbered later.
	136176	004737	136406			JSR	PC,ENPCHK
					.ENDC; DF PCKASB
	136202	062701	000454			ADD	#EN0BSZ,R1	; CONVERT NOW TO POSITIVE W.C.
	136206	001431				BEQ	3$		; HAH, A ZERO LENGTH PACKET...
					
					;Code to discard quickly any broadcast packets, under control of ENBCCF, set by 10.
	136210	016300	157112			MOV	EN0BUF(R3),R0	; address of packet buffer
	136214	116002	000001			MOVB	1(R0),R2	; destination host
	136220	001004				BNE	20$		; just if not broadcast packet
	136222	032737	000001	157106		BIT	#1,ENBCCF	; see if broadcast packets should be ignored
	136230	001420				BEQ	3$		; jump to ignore
					
	136232	006301			20$:	ASL	R1		; MAKE R1 INTO A BYTE COUNT
	136234	062701	000010			ADD	#QENMSG,R1	; ADD SPACE FOR BLOCK HDR
						CALL	QGET		; GO GET THE BUFFER
	136240	004737	137140			JSR	PC,QGET
	136244	103003				BCC	21$		; C = 0, BUFFER OK, MOVE THE PACKET
	136246	005237	157116			INC	EN0MEM		; INCREMENT COUNT OF LOST PACKETS (NO MEM)
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 321
	QMP11 PAL[KL,SYS]	Page 4.1 	DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT

	136252	000407				BR	3$		; AND RESTART I/O
					
					21$:	CALL	ENICOP		; MOVE FROM READ BUFFER TO CORE BLOCK
	136254	004737	136344			JSR	PC,ENICOP
					.IIF DF PCKASB,	CALL	ENPCHK	; CHECK CHECKSUM
	136260	004737	136406			JSR	PC,ENPCHK
						QUEUE	TO10Q		; QUEUE THE PACKET TO THE 10
	136264	004537	137634			JSR	R5,$QUEUE
	136270	157072				.WORD	TO10Q
					;bug check:	(;;;'ed t to make space.  We haven't see any recently. TVR/14-Jan-81
					;;;	MOVB	QENMSG+1(R0),R2	; "first" byte of message = destination host number
					;;;	BEQ	3$		; zero is broadcast packet.
					;;;	CMPB	R2,ENIHAD	; compare to our host address
					;;;	BEQ	3$		;
					;;;	PMSG	<\?EN BAD ADDR\>
					;;;
					3$:
					.IF DF PCKASB
	136272	016300	157112			MOV	EN0BUF(R3),R0	; Fill buffer with fixed pattern to see how
	136276	012701	000454			MOV	#EN0BSZ,R1	; hardware is losing...
	136302	012720	052525		66$:	MOV	#52525,(R0)+
	136306	077103				SOB	R1,66$
					.ENDC; DF PCKASB
	136310	012637	157110			MOV	(SP)+,EN0IND	; Next buffer now becomes current
	136314	012603				MOV	(SP)+,R3	; Restore borrowed register
						RETURN
	136316	000207				RTS	PC
					
					;Setup for Ethernet input.  R3 is index of input buffer
	136320	016337	157112	160032	ENISET:	MOV EN0BUF(R3),ENIWA	; SET BUFFER ADDRESS FOR EN DEVICE
	136326	012737	777324	160030		MOV #-EN0BSZ,ENIWC	; AND SET WORD COUNT FOR XFER
	136334	012737	000101	160034		MOV #101,ENICSR		; SET GO AND INTERRUPT ENABLE
						RETURN			; GO RETURN FROM INTERRUPT
	136342	000207				RTS	PC
					
					;enter here with R0 = Address of core block. R1=size of our request
					;		 R3 = Index of Ethernet input buffer
					ENICOP:	SAVVR			; SAVE REGS R0-R2
	136344	004237	140376			JSR	R2,$SAVVR
	136350	012760	000003	000004		MOV	#QENPKT,QREQ(R0); SET Packet type in block
	136356	162701	000010			SUB	#QENMSG,R1	; REDUCE COUNT TO PACKET SIZE (BYTES)
	136362	006201				ASR	R1		; AND CHANGE TO WORD COUNT
	136364	010160	000006			MOV	R1,QENWC(R0)	; STORE PACKET WORD COUNT
	136370	062700	000010			ADD	#QENMSG,R0	; POINT R0 TO DATA AREA
	136374	016302	157112			MOV	EN0BUF(R3),R2	; SET LOCATION OF FIRST WORD
	136400	012220			5$:	MOV	(R2)+,(R0)+	; MOVE WORD FROM READ BUFF TO CORE BLOCK
	136402	077102				SOB	R1,5$		; LOOP
						RETURN			; RETURN FROM MOVE
	136404	000207				RTS	PC
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 322
	QMP11 PAL[KL,SYS]	Page 4.2 	DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT

					
					.IF DF PCKASB	;If checksumming PUPs
					
					;Bugtrap: Check PUP checksum of Ethernet packet
					;R0 points to queue entry.  (Subtract QENMSG if you have a bare packet)
					ENPCHK:	SAVVR			;For paranoia's sake
	136406	004237	140376			JSR	R2,$SAVVR
	136412	062700	000010			ADD	#QENMSG,R0
	136416	026027	000002	001000		CMP	2(R0),#1000	;PUP packet?
	136424	001030				  BNE	79$		;  No, forget it
	136426	022020				CMP	(R0)+,(R0)+	;Skip two header words
	136430	011001				MOV	(R0),R1		;Get size
	136432	003424				  BLE	78$		;  Bad size!
	136434	020127	004000			CMP	R1,#4000	;Arbitrary upper limit on size (is this OK?)
	136440	003021				  BGT	78$
	136442	005301				DEC	R1		;Round up, but exclude checksum
	136444	006201				ASR	R1		;Convert to words
	136446	005002				CLR	R2		;Initial checksum
	136450	062002			71$:	ADD	(R0)+,R2	;Add in an entry
	136452	005502				ADC	R2		;End around carry
	136454	006302				ASL	R2		;Cycle left (stupid PDP-11, ROL rotates carry)
	136456	005502				ADC	R2		;Part of cycle left, really!
	136460	077105				SOB	R1,71$		;Repeat for each word in message
	136462	021027	177777			CMP	(R0),#177777	;If checksum is unspecified, all this was
	136466	001407				  BEQ	79$		;  for nothing
	136470	020227	177777			CMP	R2,#177777	;Special fudge to checksum?
	136474	001001				  BNE	72$		;  No
	136476	005002				CLR	R2		;Yes, 177777->0
	136500	021002			72$:	CMP	(R0),R2		;Check checksum
	136502	001401				  BEQ	79$		;Good.
					;We have a bad PUP packet.
	136504	000400			78$:	br 79$	;;;FATAL			;Bitch and moan
					;Return, good, bad, otherwise (like non-PUP packet)
					79$:	RETURN
	136506	000207				RTS	PC
					
					.ENDC; DF PCKASB
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 323
	QMP11 PAL[KL,SYS]	Page 5 	DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT

					; DTEINT, DTE10D Interrupt routines
					
					; DTEINT - INTERRUPT ROUTINE ENTERED ON DTE INTERRUPT
					;
					;
					DTEINT:	CALL	1$			; USE CALL FOR REGISTER SAVE
	136510	004737	136516			JSR	PC,1$
	136514	000002				RTI				; RETURN FROM INT
					
					1$:	SAVRG				; SAVE REGS R3-R5
	136516	004537	140352			JSR	R5,$SAVRG
	136522	017703	020626			MOV	@.STDTE,R3		; GET DTE STATUS IN REG 3
	136526	032703	120000			BIT	#TO10DN!TO10ER,R3	; TO10 COMPLETION?
	136532	001402				BEQ	2$			; IF EQ NO
						CALL	DTE10D			; GO TO THE CHECK ROUTINE
	136534	004737	136576			JSR	PC,DTE10D
	136540	032703	000202		2$:	BIT	#TO11DN!TO11ER,R3	; TO11 COMPLETION?
	136544	001402				BEQ	4$			; IF EQ NO
						CALL	DTE11D			; GO TO THE CHECK ROUTINE
	136546	004737	136650			JSR	PC,DTE11D
	136552	032703	004000		4$:	BIT	#TO11DB,R3		; IS IT DOORBELL INTERRUPT?
	136556	001406				BEQ	6$			; IF EQ NO
	136560	012737	000001	157136		MOV	#1,T11DBF		; YES, SET SOFTWARE DOORBELL
	136566	012777	002000	020560		MOV	#INT11C,@.STDTE		; AND CLEAR DOORBEL INT
					6$:	RETURN				; RESTORE AND RTI
	136574	000207				RTS	PC
					
					; DTE10D - ROUTINE ENTERED AT COMPLETION OF XFER TO 10
					;
					;	Call with R3=Ending status.
					;	If error status is seen, we leave dead message in the Q for
					;		SND10 to restart.  (really, there should be a retry count)
					;
					DTE10D:	SAVVR				; SAVE REGS R0-R2
	136576	004237	140376			JSR	R2,$SAVVR
	136602	012777	050000	020544		MOV	#DON10C!ERR10C,@.STDTE	; RESET FLAGS IN DTE STATUS REG
	136610	005037	157134			CLR	DTEBSY			; CLEAR THE DTEBSY FLAG NOW.
	136614	013700	157072			MOV	TO10Q,R0		; BUFFER ADDRESS.
	136620	001412				BEQ	5$			; Can't happen. BR if no message address.
	136622	032703	020000			BIT	#TO10ER,R3		; WAS THIS AN ERROR RETURN?
	136626	001007				BNE	5$			; BR if error.  Message remains in the Q.
	136630	011037	157072			MOV	(R0),TO10Q		; REMOVE THE BUFFER BLOCK FROM QUEUE
	136634	001002				BNE	4$			; NOT LAST ENTRY IN QUEUE
	136636	005037	157074			CLR	TO10Q+2			; LAST ENTRY IN QUEUE, ZERO END POINTER
					4$:	CALL	QGIVE			; GO RELEASE THE CORE BLOCK
	136642	004737	137120			JSR	PC,QGIVE
					5$:	RETURN				;
	136646	000207				RTS	PC
					;
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 324
	QMP11 PAL[KL,SYS]	Page 6 	DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT

					; DTE11D - COMPLETION OF TO11 TRANSFER FROM DTE
					;
					;	ENTERED FROM DTEINT ROUTINE.  R3 = DTE Status at Interrupt.
					;
					;		In case of transfer error, sender has been notified in
					;		his ending status.  Sender will retry from the top.
					;
					;
					DTE11D:	SAVVR				; SAVE REGS R0-R2
	136650	004237	140376			JSR	R2,$SAVVR
	136654	012777	000101	020472		MOV	#DON11C!ERR11C,@.STDTE	; Clear DONE and ERROR in DTE STATUS
	136662	013700	157062			MOV	FR10Q,R0		; ADDRESS OF BUFFER BLOCK
	136666	001416				BEQ	5$			; Discard interrupt if no msg block
	136670	005037	157062			CLR	FR10Q			; CLEAR FROM DTE POINTER
	136674	005002				CLR	R2			; If error, R2 = 0 for no-op
	136676	032703	000002			BIT	#TO11ER,R3		; IS THE ERROR BIT ON TRANSFER SET
	136702	001006				BNE	2$			; If error, branch to call $DTNOP (R2 = 0)
					; NOW LOOK AT THE REQUEST WORD AND SEE WHERE DATA IS MEANT TO GO
	136704	016002	000004			MOV	QREQ(R0),R2		; GET THE REQUEST WORD IN R2
	136710	006302				ASL	R2			; DOUBLE FOR WORD POINTER
	136712	020227	000016			CMP	R2,#REQMAX		; bounds test
	136716	103012				BHIS	T11MSE			; br if out of bounds
	136720	004772	136726		2$:	JSR	PC,@REQLST(R2)		; NOW GO TO THE SUBROUTINE
					5$:	RETURN				;
	136724	000207				RTS	PC
					;
					;
	136726	136766			REQLST:	.WORD	$DTNOP		;no-op discard the message
	136730	136766				.WORD	$ECHRY		;QECHRY - RESPONSE TO AN ECHO REQUEST
	136732	136774				.WORD	$11ECH		;QECHRQ - REQUEST FOR AN ECHO
	136734	137012				.WORD	$11ETH		;QENPKT - Request to send An EtherNet Packet
	136736	137030				.WORD	$11ADR		;QENADR - REQUEST FROM 10 FOR ETHERNET ADDRESS
	136740	136766				.WORD	$DTNOP		;eventually, dectape messages. now unimplemented
	136742	137072				.WORD	$ENBCC		;QENBCC - Request to control broadcast packets
		000016			REQMAX==.-REQLST
					
					T11MSE:	PUSH	R0			;save msg block address
	136746	016046	000004			MOV	QREQ(R0),-(SP)		;save request type
						PMSG	<\T11MSE=>
	136752	104025				  $PMSG
	136754	147256				  $$CLIT
						POP	R0
	136760	104035				PNTOCT				;PRINT Request type
	136762	104031				PCRLF
						POP	R0			;restore Msg addr & fall into $ECHRY
					$DTNOP:					; no-op
					$ECHRY:	CALL	QGIVE			; JUST FREE THE BLOCK
	136766	004737	137120			JSR	PC,QGIVE
						RETURN				; AND RETURN
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 325
	QMP11 PAL[KL,SYS]	Page 6.1 	DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT

	136772	000207				RTS	PC
					
	136774	012760	000001	000004	$11ECH:	MOV	#QECHRY,QREQ(R0)	; MAKE PACKET AN ECHO RESPONSE
						QUEUE	TO10Q			; AND QUEUE IT FOR 10
	137002	004537	137634			JSR	R5,$QUEUE
	137006	157072				.WORD	TO10Q
						RETURN				;
	137010	000207				RTS	PC
					
					$11ETH:	QUEUE	ENETQ			; QUEUE BUFFER BLOCK TO ETHERNET QUEUE
	137012	004537	137634			JSR	R5,$QUEUE
	137016	157066				.WORD	ENETQ
	137020	103002				BCC	1$			; BRANCH IF NOT FIRST (ONLY) ENTRY
						CALL	SNDEN			; OK, QUEUE IT FOR ETHERNET
	137022	004737	136006			JSR	PC,SNDEN
					1$:	RETURN
	137026	000207				RTS	PC
					
					
					$11ADR:	CALL	QGIVE			; GO FREE THE QUEUE ENTRY NOW
	137030	004737	137120			JSR	PC,QGIVE
	137034	012701	000010			MOV	#QHDRSZ+2,R1		; NOW WE WILL GET SHORT BLOCK
						CALL	QGET			; GO GET THE SHORT BLOCK
	137040	004737	137140			JSR	PC,QGET
	137044	103411				BCS	1$			; Can't get such a block! He'll ask again
	137046	013760	157052	000006		MOV	ENIHAD,QHDRSZ(R0)	; Store ethernet address.
	137054	012760	000004	000004		MOV	#QENADR,QREQ(R0)	; SET RESPONSE CODE FOR 10
						QUEUE	TO10Q			; QUEUE FOR 10
	137062	004537	137634			JSR	R5,$QUEUE
	137066	157072				.WORD	TO10Q
					1$:	RETURN				; AND RETURN
	137070	000207				RTS	PC
					
					;Here to set Ethernet broadcast packet control word.
	137072	013702	157106		$ENBCC:	MOV	ENBCCF,R2		; get old control word to be returned
	137076	016037	000006	157106		MOV	QHDRSZ(R0),ENBCCF	; set new control word
	137104	010260	000006			MOV	R2,QHDRSZ(R0)		; put old control word in return packet
						QUEUE	TO10Q			; and queue for the 10
	137110	004537	137634			JSR	R5,$QUEUE
	137114	157072				.WORD	TO10Q
						RETURN
	137116	000207				RTS	PC
					
	137120	016001	000002		QGIVE:	MOV	QSIZ(R0),R1		; GET PACKET SIZE IN R1
	137124	010002				MOV	R0,R2			; MOV QUEUE ENTRY ADDRESS TO R2
	137126	012700	157056			MOV	#FREEQ,R0		; AND ADDRESS OF FREEQ TO R0
						CALL	$RLCB			; RELEASE THE MEMORY
	137132	004737	140032			JSR	PC,$RLCB
						RETURN
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 326
	QMP11 PAL[KL,SYS]	Page 6.2 	DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT

	137136	000207				RTS	PC
					
					;QGET -  Get a free-core block.  Call with R1=Request size in bytes.
					; Returns with Carry Set to signify no block available, or,
					; Returns with Carry Clear, R0 = Block address.  QSIZ(R0) and QCHN(R0) setup.
	137140	012700	157056		QGET:	MOV	#FREEQ,R0		; ADDRESS OF FREEQ LIST HEADER
						CALL	$RQCB			; ALLOCATE BLOCK
	137144	004737	140156			JSR	PC,$RQCB
	137150	103405				BCS	1$			; BR if there's no block available
	137152	005060	000000			CLR	QCHN(R0)		; CLEAR THE CHAIN WORD IN BLOCK
	137156	010160	000002			MOV	R1,QSIZ(R0)		; SET BUFFER SIZE IN CORE BLOCK
	137162	000241				CLC				; RETURN CARRY CLEAR
					1$:	RETURN
	137164	000207				RTS	PC
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 327
	QMP11 PAL[KL,SYS]	Page 7 	DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT

					; QMPCMD - ROUTINE CALLED FROM KLDCP WHEN 10 SENDS ITEM COUNT
					;
					;	ENTERED WITH:
					;		R5 = 14 IN THE HIGH BYTE
					;
					QMPCMD:	CALL	$99
	137166	004737	137176			JSR	PC,$99
	137172	000137	107526			JMP	C10DON		; RETURN TO CONS11
					
					$99:	SAVVR			; SAVE REGS R0-R2
	137176	004237	140376			JSR	R2,$SAVVR
						PUSH	PS		; SAVE OLD PS
	137206	012737	000340	177776		MOV	#PR7,PS		; AND SET NON-INTERRUPTIBLE STATUS
	137214	032777	007777	020114		BIT	#7777,@.BC11	; Is there a transfer already in progress?
	137222	001034				  BNE	QMPCXT		;   Yes, the '10 goofed. We'll just ignore it and
									;	let the current transfer finish.
									;   ***	If the DTE is every real hung, we lose!
	137224	013701	147616			MOV	$ECMD+2,R1	; WORD COUNT FROM CMD INCLUDES REQUEST
	137230	006301				ASL	R1		; MAKE BYTE COUNT FOR CORE ALLOCATION
	137232	062701	000004			ADD	#QHDRSZ-2,R1	; ADD ROOM FOR HEADER TO REQUEST SIZE
	137236	010137	157054			MOV	R1,QMPRQS	; save size of request in case we need QMPRTY
					QMPRY1:	CALL	QGET		; REQUEST MEMORY
	137242	004737	137140			JSR	PC,QGET
	137246	103422				BCS	QMPCXT		; BR if there is no buffer available.
	137250	005037	157054			CLR	QMPRQS		; clear request size to avoid hassle in QMPRTY
	137254	010037	157062			MOV	R0,FR10Q	; SET HEADER ADDRESS IN FR10Q
	137260	062700	000004			ADD	#QHDRSZ-2,R0	; READ REQUEST AND DATA TO QUEUE ENTRY
	137264	010077	020052			MOV	R0,@.T11AD	; SET BUFFER ADDRESS IN DTE REG
	137270	162701	000004			SUB	#QHDRSZ-2,R1	; REDUCE COUNT FOR HEADER SIZE
	137274	006201				ASR	R1		; MAKE WORD COUNT AGAIN FOR DTE XFER
	137276	005401				NEG	R1		; MAKE TWO'S COMPLEMENT COUNT
	137300	042701	170000			BIC	#170000,R1	; CLEAR HIGH BITS FROM COUNT
	137304	052701	100000			BIS	#INT10,R1	; SET BIT TO INTERRUPT 10 WHEN DONE
	137310	010177	020022		 	MOV	R1,@.BC11	; AND SET BYTE COUNT IN DTE REG
					QMPCXT:	POP	PS		; RESTORE RUN PRIORITY
	137320	000207				RTS	PC
					;
					;If there was no buffer space available when the 10 made its request,
					;the QMPCMD routine leaves QMPRQS set to the size of the request.
					;QMPRTY is called from SND10, each time through the command loop.
					
					QMPRTY:	SAVVR
	137322	004237	140376			JSR	R2,$SAVVR
						PUSH	PS
	137332	012737	000340	177776		MOV	#PR7,PS		; AND SET NON-INTERRUPTIBLE STATUS
	137340	013701	157054			MOV	QMPRQS,R1
	137344	001763				BEQ	QMPCXT
	137346	000735				BR	QMPRY1
					
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 328
	QMP11 PAL[KL,SYS]	Page 8 	DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT

					; SND10 -  ROUTINE TO QUEUE BLOCK FOR XFER TO 10
					;
					;	Called From Console Loop via JSR PC,SND10
					; N.B.	ROUTINE RUNS INTERRUPTABLE!!!
					;
					SND10:	SAVVR			; SAVE REGS R0-R2
	137350	004237	140376			JSR	R2,$SAVVR
						PUSH	PS
	137360	012737	000340	177776		MOV	#PR7,PS		; set us as non-interuptable.
	137366	013700	157072			MOV	TO10Q,R0	; Get address of next message to 10
	137372	001446				BEQ	3$		; Nothing in queue. Return
	137374	005737	157134			TST	DTEBSY		; IS THE DTE CURRENTLY BUSY?
	137400	001403				BEQ	5$		; BR if not busy
	137402	005237	157132			INC	DTEBCT		; increment the busy count
	137406	001040				BNE	3$		; if it counts out, restart pending xfer
	137410	005037	157132		5$:	CLR	DTEBCT		; reset the busy count
	137414	016001	000002			MOV	QSIZ(R0),R1	; GET THE BYTE COUNT FROM BLOCK COUNTER
	137420	162701	000004			SUB	#QHDRSZ-2,R1	; SUBTRACT THE HEADER SIZE (INCLUDE REQUEST)
	137424	003002				BGT	6$		; try not to be rediculous!
	137426	012701	000002			MOV	#2,R1		; change a negative or zero count to positive.
	137432	006201			6$:	ASR	R1		; CONVERT TO WORD COUNT FOR DTE XFER
	137434	010137	157100			MOV	R1,COUN10	; SET COUNT FOR DEPOSIT IN 10 MEMORY
	137440	005401				NEG	R1		; MAKE TWO'S COMPLEMENT FOR XFER
	137442	062700	000004			ADD	#QHDRSZ-2,R0	; POINT TO REQUEST WORD PRECEDING DATA
	137446	010077	017666			MOV	R0,@.T10AD	; SET WORD ADDRESS IN DTE REGISTER
	137452	010177	017656			MOV	R1,@.BC10	; SET WORD COUNT IN DTE REGISTER
	137456	104055				SETFLG			; SET DTEBSY FLAG SO WE DON'T TRY TO WRITE MORE
	137460	157134				  DTEBSY		; UNTIL WE ARE FINISHED WITH THIS ONE
	137462	011637	177776			MOV	(SP),PS		; Restore interrupts. We're done with Q & DTE
	137466	012737	004000	147444	.IIF NE EPTREL, MOV	#XEPT!PRTOFF,$TADSP	; SET ADDR MODE FOR NXT EXDEP
	137474	104106				DPOST			; EMT CALL TO DEPOSIT IN 10 MEMORY
	137476	000460				  $DTQMP		; ADDRESS IN 10 MEMORY
	137500	157100				  COUN10		; ADDRESS OF PARAMETER STRING
	137502	012777	000400	017644		MOV	#TO10DB,@.STDTE	; RING THE 10'S CHIMES
					3$:	POP	PS
						CALL	QMPRTY		; See if need a retry of QGET for a TO11 command
	137514	004737	137322			JSR	PC,QMPRTY
						RETURN			; AND RETURN
	137520	000207				RTS	PC
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 329
	QMP11 PAL[KL,SYS]	Page 9 	DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT

					; QINI - ROUTINE TO INITIALIZE QUEUE STRUCTURES
		003000			FREEAD==3000
		020000			FREESZ==20000
		023000			FREEND==FREEAD+FREESZ		;of course.
					
					;	Called by
					;	JSR	PC,QINI		;Clear all queues. Initialize free memory pool.
					
					QINI:	SAVVR			; SAVE R0-R2
	137522	004237	140376			JSR	R2,$SAVVR
					
	137526	012700	157056			MOV	#FREEQ,R0	; ADDRESS OF FREEQ LISTHEAD
	137532	012701	003000			MOV	#FREEAD,R1	; ADDRESS OF free pool beginning
					
	137536	010137	157112			MOV	R1,EN0BUF	; RESERVE FIRST OF FREE CORE
	137542	062701	001130			ADD	#EN0BSZ*2,R1	; FOR ETHERNET INPUT BUFFER(S)
	137546	010137	157114			MOV	R1,EN0BUF+2	; MUST DOUBLE BUFFER ETHERNET INPUT
	137552	062701	001130			ADD	#EN0BSZ*2,R1
					
	137556	010120				MOV	R1,(R0)+	; Set address of free block in list head (FREEQ)
	137560	005010				CLR	(R0)		; CLEAR SECOND WORD (Looks like a zero size blk)
	137562	005021				CLR	(R1)+		; FREEQ point to a single block. (no link out)
	137564	012711	020000			MOV	#FREESZ,(R1)	; set size of the single free block.
	137570	162711	002260			SUB	#EN0BSZ*4,(R1)	; adjust size to account for EN buffers.
					
						QCLR	FR10Q		; CLEAR THE FR10Q
	137574	004537	137620			JSR	R5,$QCLR
	137600	157062				.WORD	FR10Q
						QCLR	TO10Q		; CLEAR THE TO10Q
	137602	004537	137620			JSR	R5,$QCLR
	137606	157072				.WORD	TO10Q
						QCLR	ENETQ		; CLEAR THE ETHERNET QUEUE
	137610	004537	137620			JSR	R5,$QCLR
	137614	157066				.WORD	ENETQ
					
					.IF DF FSCASB
						CLR	WUSED		; Initialize bugtrap counts
						CLR	NGETS
						CLR	NGIVES
						MOV	#1,BFREE	; One BIG block
					.ENDC;DF FSCASB
					
						RETURN			;
	137616	000207				RTS	PC
					
					; $QCLR - QUEUE RESET ROUTINE
					;
					;	CALLED AS:		JSR	R5,$QCLR
					;				.WORD	QPB
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 330
	QMP11 PAL[KL,SYS]	Page 9.1 	DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT

					;	WHERE QPB IS QUEUE PARAMETER BLOCK
					;
					$QCLR:	PUSH	R0		; SAVE R0
	137622	012500				MOV	(R5)+,R0	; GET QUEUE PARAMETER BLOCK ADDRESS
	137624	005020				CLR	(R0)+		; CLEAR POINTER TO OLDEST ENTRY
	137626	005020				CLR	(R0)+		; AND POINTER TO NEWEST ENTRY
						POP	R0		; RESTORE R0
	137632	000205				RTS	R5
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 331
	QMP11 PAL[KL,SYS]	Page 10 	DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT

					; $QUEUE - GENERALIZED QUEUE ROUTINE
					;
					; CALLED AS:		JSR	R5,$QUEUE
					;			.WORD	QPB
					;		Where
					;		QPB = the address of the Queue Parameter Block, and
					;		R0 = the Address of the new Queue item.
					;
					;		The new Queue item is:
					;			.WORD	CHAIN POINTER
					;			.WORD	BYTE COUNT (INCLUDES QHDRSZ BYTES FOR HEADER)
					;			.WORD	REQUEST IDENTIFIER
					;			.BYTES	DATA
					;
					;		and the Queue Parameter Block is 
					;			.WORD	POINTER TO OLDEST ENTRY IN QUEUE
					;			.WORD	POINTER TO NEWEST ENTRY IN QUEUE
					;
					;		Routine returns with Carry set if you have just placed
					;		the first item in an empty queue.
					;
					$QUEUE:	PUSH	R2		; SAVE R2 IN STACK
	137636	012502				MOV	(R5)+,R2	; ADDRESS OF QUEUE POINTER BLOCK TO R2
	137640	005010				CLR	(R0)		; CLEAR CHAIN WORD IN NEW ENTRY
	137642	005712				TST	(R2)		; IS QUEUE EMPTY
	137644	001004				BNE	1$		; IF NE NO, QUEUE IS NOT EMPTY
	137646	010022				MOV	R0,(R2)+	; YES, EMPTY - SET ENTRY ADDRESS
	137650	010022				MOV	R0,(R2)+	; AND SET NEWEST ENTRY POINTER
	137652	000261				SEC			; SET CARRY, FIRST AND ONLY ENTRY IN QUEUE
	137654	000405				BR	2$		; NOW RETURN
	137656	010072	000002		1$:	MOV	R0,@2(R2)	; CHAIN ENTRY TO CURRENT NEWEST ENTRY
	137662	010062	000002			MOV	R0,2(R2)	; AND MAKE IT NEWEST ENTRY
	137666	000241				CLC			; CLEAR CARRY, NOT ONLY ENTRY IN QUEUE
					2$:	POP	R2		; RESTORE R2
	137672	000205				RTS	R5		; RETURN VIA R5
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 332
	QMP11 PAL[KL,SYS]	Page 11 	DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT

					; QMPINI - ROUTINE TO INITIALIZE INTERRUPT ADDRESSES ETC.
					;
					;	CALLED AS:		JSR	PC,QMPINI
					;
					QMPINI:	SAVAL			; SAVE REGS R0-R5
	137674	004737	140310			JSR	PC,$SAVAL
						PUSH	PS		; SAVE CALLING PRIORITY
	137704	012702	000340			MOV	#PR7,R2		; GET PRIORITY SEVEN IN R2
	137710	010237	177776			MOV	R2,PS		; SET PRIORITY SEVEN NOW
	137714	012701	000774			MOV	#774,R1		; GET ADDRESS OF DTE INTERRUPT VECTOR
	137720	012721	136510			MOV	#DTEINT,(R1)+	; SET DTE INTERRUPT VECTOR ADDRESS
	137724	010221				MOV	R2,(R1)+	; AND INTERRUPT PRIORITY SEVEN
	137726	012777	037776	017364		MOV	#37776,@.DELAY	; INITIAL DELAY COUNT
	137734	052777	000040	017412		BIS	#INTRON,@.STDTE	; SET INTERRUPTS ON
					;
	137742	012701	000400			MOV	#400,R1		; GET ETHERNET INTERRUPT VECTOR ADDRESS
	137746	012721	135674			MOV	#ENOINT,(R1)+	; SET INTERRUPT DISPACH ADDR IN VECTOR
	137752	010221				MOV	R2,(R1)+	; AND INTERRUPT PRIORITY SEVEN
	137754	012721	136074			MOV	#ENIINT,(R1)+	; SET INTERRUPT DISPACH ADDR IN VECTOR
	137760	010221				MOV	R2,(R1)+	; AND INTERRUPT PRIORITY SEVEN
	137762	012721	135674			MOV	#ENOINT,(R1)+	; SET INTERRUPT DISPATCH ADDR IN VECTOR
	137766	010221				MOV	R2,(R1)+	; AND SET INTERRUPT PRIORITY SEVEN
	137770	013737	160036	157052		MOV	ENIADR,ENIHAD	; GET THE ETHERNET ADDRESS
	137776	105137	157052			COMB	ENIHAD		; COMPLEMENT FOR READING
					;
						CALL	QINI		; INITIALIZE MEMORY AND QUEUES
	140002	004737	137522			JSR	PC,QINI
					;
					;JJW 11/85 changed output delay code.  No longer use delay array
					;;	MOV	#EN0DLY,R0	; ADDRESS OF DELAY ARRAY FOR EN0
					;;	MOV	#10,R1		; MAXIMUM NUMBER OF RETRYS
					;;	MOV	#200,R2		; MAXIMUM DELAY
					;;1$:	MOV	R2,(R0)+	; PUT DELAY IN TABLE
					;;	ASR	R2		; SHIFT IT RIGHT
					;;	SOB	R1,1$		; LOOP AND FILL TABLE
					;
	140006	005003				CLR	R3		; Select first buffer
	140010	010337	157110			MOV	R3,EN0IND
						CALL	ENISET		; Setup to read first packet
	140014	004737	136320			JSR	PC,ENISET
	140020	005037	157106			CLR	ENBCCF		; DISABLE PASSING EN BROADCAST PACKETS TO 10
					;
						POP	PS		; RESTORE ENTRY PRIORITY
						RETURN
	140030	000207				RTS	PC
					;
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 333
	QMP11 PAL[KL,SYS]	Page 12 	DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT

					; RQCB/RLCB: first fit dynamic core allocation routines
					;
					; data structures
					;
					; Free block list header:
					;
					; 	freehd:	.word	next	; pointer to next free block or zero
					;		.word	0	; always zero (looks like a too-small block)
					;
					; Free block:
					;
					;	freebk:	.word	next	; pointer to next free block or zero
					;		.word	size	; size of block in bytes
					;
					; Used block:  User pointer to the free block addresses "usedbk" below.
					;
					;		.word	size	; size of block in bytes (and even number)
					;	usedbk:	.word	data	; Size-2 bytes of user data are permitted
					;
					; 	The free block list is ordered by the core address of the blocks
					; 	themselves.  This is so block agglomeration can be performed with
					;	little overhead.
					;
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 334
	QMP11 PAL[KL,SYS]	Page 13 	DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT

					; $RLCB - ReLease Core Block
					;
					; Call this subroutine to release a core block to the free list.
					; The free list is searched until the proper slot is found.  The Block
					; is merged into the free list.  If the block being released is adjacent
					; to other free blocks, then those blocks are agglomerated and the new block
					; is merged into the free list.
					;
					; INPUTS:
					;	R0 = ADDRESS OF FREE BLOCK LIST HEAD
					;	R2 = ADDRESS OF BLOCK TO RELEASE.
					;
					; OUTPUTS:
					;	NONE
					;
					$RLCB:	SAVRG			; SAVE NON-VOLATILE REGISTERS
	140032	004537	140352			JSR	R5,$SAVRG
	140036	014201				MOV	-(R2),R1	; Point to start of block. Get size
	140040	003445				BLE	99$		; A non-positive size is unlikely and undesirable
	140042	032701	000001			BIT	#1,R1		; An odd size is likewise undesirable
	140046	001042				BNE	99$		; So, we bomb out.
	140050	022702	003000			CMP	#FREEAD,R2	; Make sure free block is in bounds
	140054	101037				BHI	99$		; BR if out of bounds.
	140056	010103				MOV	R1,R3		; Copy length of this block to R3
	140060	060203				ADD	R2,R3		; compute end of this block
	140062	022703	023000			CMP	#FREEND,R3	; compare to top of free storage
	140066	103432				BLO	99$		; BR if out of bounds.
	140070	011003			1$:	MOV	(R0),R3		; GET ADDRESS OF NEXT FREE BLOCK
	140072	001404				BEQ	2$		; IF EQ THEN END OF CHAIN
	140074	020203				CMP	R2,R3		; COMPARE ADDRESSES
	140076	103402				BLO	2$		; IF LO THEN WE FOUND SLOT
	140100	010300				MOV	R3,R0		; SET NEW PREVIOUS ADDRESS
	140102	000772				BR	1$		; GO AGAIN
					
					;here, R0 is address of previous block.  R3 is address of next block.
	140104	010312			2$:	MOV	R3,(R2)		; ASSUME NO AGGLOMERATION. Link out of new blk.
	140106	010204				MOV	R2,R4		; CALCULATE ADDRESS OF NEXT BLOCK
	140110	060104				ADD	R1,R4		; ADD IN BLOCK SIZE
					.IF DF FSCASB
						SUB	R1,WUSED	; Bugtrap: Decrement number of words in use
						INC	BFREE		; Assuming no agglomeration
					.ENDC;DF FSCASB
	140112	020304				CMP	R3,R4		; COMPARE BLOCK ADDRESSES
	140114	001002				  BNE	3$		; IF NE DO NOT MERGE BLOCKS
	140116	012312				MOV	(R3)+,(R2)	; SET NEW FORWARD LINK
	140120	061301				ADD	(R3),R1		; ADJUST SIZE
					.IIF DF FSCASB,	DEC	BFREE	; We merged one here.
	140122	010210			3$:	MOV	R2,(R0)		; ASSUME NO AGGLOMERATION
	140124	010004				MOV	R0,R4		; CALCULATE ADDRESS OF NEXT BLOCK
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 335
	QMP11 PAL[KL,SYS]	Page 13.1 	DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT

	140126	066004	000002			ADD	2(R0),R4	; ADD IN BLOCK SIZE
	140132	020204				CMP	R2,R4		; COMPARE ADDRESSES
	140134	001004				  BNE	4$		; IF NE DO NOT MERGE
	140136	011210				MOV	(R2),(R0)	; SET NEW FORWARD LINK
	140140	066001	000002			ADD	2(R0),R1	; ADJUST SIZE
	140144	010002				MOV	R0,R2		; SET NEW BASE ADDRESS OF BLOCK
					.IIF DF FSCASB,	DEC	BFREE	; We merged one here.
	140146	010162	000002		4$:	MOV	R1,2(R2)	; SET SIZE OF BLOCK
					.IIF DF FSCASB,	INC	NGIVES	; Count instances
						RETURN			;
	140152	000207				RTS	PC
					
	140154	104000			99$:	FATAL
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 336
	QMP11 PAL[KL,SYS]	Page 14 	DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT

					; $RQCB - REQUEST CORE BLOCK
					;
					; Call this subroutine to request a core block from the free list.
					; The selection is made on the first fit basis.
					;
					; INPUTS:
					;	R0 = ADDRESS OF FREE BLOCK LIST HEAD
					;	R1 = Requested size of block in bytes.
					;
					;	The size of the request will be increased by 2 and rounded up to
					;	be an even number of bytes.
					;
					; OUTPUTS:
					;	C=1 IF REQUEST CANNOT BE FULFILLED
					;	C=0 IF REQUEST IS SATISFIED. R0 = ADDRESS OF REQUESTED CORE BLOCK.
					;				     R1 = Requested size rounded up to even #
					;
					$RQCB:	SAVRG			; SAVE NONVOLATILE REGISTERS
	140156	004537	140352			JSR	R5,$SAVRG
	140162	005701				TST	R1		; make sure request is positive.
	140164	003450				BLE	99$		; can't have idiots around here.
	140166	062701	000003			ADD	#3,R1		; Add 2 and round up to next word boundary
	140172	042701	000001			BIC	#1,R1		; Clear excess odd bit
					;R0 = address of "previous", R3 = address of "current"
	140176	011003			2$:	MOV	(R0),R3		; Get address of the next free block.
	140200	001440				BEQ	9$		; BR if end of the list.  No block available.
	140202	020163	000002			CMP	R1,2(R3)	; Is the block big enough?
	140206	101402				BLOS	6$		; BR if the block is large enough.
	140210	010300				MOV	R3,R0		; Advance R0 to point to this block
	140212	000771				BR	2$		; and go look at the next block.
					
					;Here R3 = address of a desirable block.   R0 is the predecessor
					6$:	PUSH	R1		;Save user's size request (+2)
	140216	016302	000002			MOV	2(R3),R2	;Get the size of the block we found
	140222	160102				SUB	R1,R2		;Reduce it by the size of this request
	140224	022702	000020			CMP	#20,R2		;Is there enough left to be worth splitting?
	140230	103004				BHIS	7$		;BR if fragment too small to split.
	140232	010263	000002			MOV	R2,2(R3)	;Store size of remainder.
	140236	060203				ADD	R2,R3		;Calculate address of piece to return now
	140240	000403				BR	8$		;R3=address to return. R1=Size.
					
	140242	011310			7$:	MOV	(R3),(R0)	;Here for no split. LINK PREVIOUS TO NEXT
	140244	016301	000002			MOV	2(R3),R1	;this is the actual size of this block
					.IIF DF FSCASB,	DEC	BFREE	;One less thing on free list
	140250	010300			8$:	MOV	R3,R0		;Copy address block to R0
	140252	010120				MOV	R1,(R0)+	;Store size of the block in the block.
	140254	022703	003000			CMP	#FREEAD,R3	; Make sure free block is in bounds
	140260	101012				BHI	99$		; BR if out of bounds.
	140262	060103				ADD	R1,R3		; compute end of this block
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 337
	QMP11 PAL[KL,SYS]	Page 14.1 	DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT

	140264	022703	023000			CMP	#FREEND,R3	; compare to top of free storage
	140270	103406				BLO	99$		; BR if out of bounds.
					.IF DF FSCASB
						ADD	R1,WUSED	;Bugtrap: Update number of words used
						INC	NGETS		;	  Increment number of requests
					.ENDC; DF FSCASB
						POP	R1		;User's request size (+2)
	140274	005741				TST	-(R1)		;return in R1 the apparent block size.
	140276	000241				CLC			; CLEAR CARRY
						RETURN
	140300	000207				RTS	PC
					
	140302	000261			9$:	SEC			; SET CARRY
						RETURN			;
	140304	000207				RTS	PC
					
	140306	104000			99$:	FATAL
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 338
	QMP11 PAL[KL,SYS]	Page 15 	DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT

					; $SAVAL, $SAVVR, $SAVRG  Register Save and Restore Co-routines
					;
					; $SAVAL - SAVE AND RESTORE R0-R5
					;
					; THIS MODULE IS ENTERED VIA A "JSR	PC,$SAVAL" TO SAVE AND
					; SUBSEQUENTLY RESTORE REGISTERS R0 THROUGH R5.  AFTER STORING THE
					; REGISTER CONTENST ON THE STACK A CO-ROUTINE CALL IS MADE TO
					; THE CALLING ROUTINE.  A SUBSEQUENT "RTS	PC" CAUSES THIS
					; SUBROUTINE TO RESTORE ALL REGISTERS AND EXIT VIA AN "RTS	PC".
					;
					; ALL REGISTER CONTENTS ARE PRESERVED.
					;
					$SAVAL:	PUSH	R4
						PUSH	R3
						PUSH	R2
						PUSH	R1
						PUSH	R0		; SAVE R4-R0
	140322	016646	000012			MOV	12(SP),-(SP)	; COPY RETURN ADDR
	140326	010566	000014			MOV	R5,14(SP)	; SAVE R5
						CALL	@(SP)+		; CALL THE CALLER
	140332	004736				JSR	PC,@(SP)+
						POP	R0
						POP	R1
						POP	R2
						POP	R3
						POP	R4
						POP	R5		; RESTORE R0-R5
						RETURN			; AND RETURN
	140350	000207				RTS	PC
					;
					; $SAVRG - SAVE AND RESTORE NONVOLATILE REGISTERS, 3,4,5
					;
					; CALLED AS:		JSR	R5,$SAVRG
					;
					$SAVRG:	PUSH	R4
						PUSH	R3		; SAVE R4,R3
						PUSH	R5		; PUT RETURN ADDRESS ON STACK
	140360	016605	000006			MOV	6(SP),R5	; RETRIEVE REAL R5
						CALL	@(SP)+		; CALL THE CALLER
	140364	004736				JSR	PC,@(SP)+
						POP	R3
						POP	R4
						POP	R5		; RESTORE R5
						RETURN
	140374	000207				RTS	PC
					
					; $SAVVR - SAVE AND RESTORE VOLATILE REGS - R0-R2
					;
					; CALLED AS:		JSR	R2,$SAVVR
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 339
	QMP11 PAL[KL,SYS]	Page 15.1 	DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT

					;
					$SAVVR:	PUSH	R1
						PUSH	R0		; SAVE R1 AND R0
						PUSH	R2		; SAVE RETURN ADDRESS
	140404	016602	000006			MOV	6(SP),R2	; RESTORE R2
						CALL	@(SP)+		; CALL THE CALLER
	140410	004736				JSR	PC,@(SP)+
						POP	R0
						POP	R1
						POP	R2		; RESTORE REGS
						RETURN			;
	140420	000207				RTS	PC
					;
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 340
	KLDCP PAL[KL,SYS]	Page 5.8 	DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT

					
								;File loading and command functions
					.INSRT	APT11.PAL		
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 341
	APT11 PALII[KL,SYS]	Page 1 	DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT

				COMMENT ⊗   VALID 00014 PAGES
				C REC  PAGE   DESCRIPTION
				C00001 00001
				C00003 00002	.SBTTL	APT10 PDP-11 PROCESS, 13-AUG-75
				C00005 00003	DAHLPD=.
				C00007 00004	ACTBCK:	PMSG	<?CKSUM>
				C00008 00005	.SBTTL	COMMUNICATIONS ROUTINES
				C00010 00006	7$:	TTICHR			GET CONTROL SEQUENCE CHARACTER
				C00011 00007	CMERTB:	CMER1
				C00012 00008	$COMSND:MOV	#COUTBF,R5
				C00014 00009	$CMRTRY:MOV	#COUTBF-4,R0	SETUP MESSAGE POINTER
				C00016 00010	$COMLIN:MOV	#CINBF-4,R1	START BUFFER ADDRESS
				C00018 00011	3$:	INC	R1		NULL TO END BUFFER
				C00020 00012	44$:	TST	R0		DID CHECKSUM COMPUTE TO 0 ?
				C00021 00013	$COMENQ:COMCLR			CLEAR COMMUNICATIONS
				C00023 00014	$COMCLR:CLR	ENQFLG
				C00025 ENDMK
					C⊗;
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 342
	APT11 PALII[KL,SYS]	Page 2 	APT10 PDP-11 PROCESS, 13-AUG-75

					.SBTTL	APT10 PDP-11 PROCESS, 13-AUG-75
					
					.IF DF MONASB
					ACTFIL:	CMP	#5,LDCNTL	;LOADING ".BIN" ?
						BNE	1$
						MOV	#1,LDCNTL	;YES, ACT10 CONVERTS TO ".A11"
					1$:	COMENQ			;REQUEST APT10 SERVICE
						MOV	#$INBUF,R0
						COMCMD			;SEND COMMAND TO REMOTE
						BCS	2$		;C-BIT SET, FILE NOT FOUND
						CLR	ARETRY		;CLEAR RETRY COUNTER
						BR	ACTLD1		;GO TO LOAD PROCESS
					2$:	JMP	$NONXF
					.ENDC
					
					ACTLD2:
					.IF DF MONASB
						TST	DEVTYP
						BMI	1$		;ACT10
					.ENDC
	140422	000137	131146			JMP	LLD2		;DECTAPE/RP04
					.IF DF MONASB
					1$:	COMACK			;ACK PREVIOUS LINE
						BCS	ACTEOF		;C-BIT SET, EOF
						CLR	ARETRY		;CLEAR RETRY COUNTER
					
					ACTLD1:	INC	DEVLC		;COUNT LINE
						MOV	DEVLC,SWR	;DISPLAY
						TST	LDCNTL		;DOING A "HELP" ?
						BPL	1$		;NO
					.ENDC
		140426			DAHLP=.
	140426	005737	151140			TST	DIAFLG		;DOING DIAMON
	140432	001407				BEQ	30$		;NO
	140434	005737	150744			TST	DEVLC		;YES, FIRST LINE ?
	140440	001002				BNE	31$		;NO
	140442	000137	112226			JMP	DIAFND		;YES, DIAMON FILE FOUND
	140446	000137	112262		31$:	JMP	DIARNL		;DIAMON READ NEW LINE
	140452	005737	147644		30$:	TST	IFILEF		;DOING AN INDIRECT FILE ?
	140456	001402				BEQ	4$
	140460	000137	140670			JMP	IFILEP		;YES, STORE INPUT
	140464	104055			4$:	SETFLG
	140466	150742				HLPPNT			;NORMAL BACKSLASHES
	140470	012700	150520			MOV	#$INBUF,R0	;YES, PRINT INPUT LINE
					.IF DF MONASB
						TST	DEVTYP
						BPL	41$
						MOV	#CINBF,R0
					.ENDC
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 343
	APT11 PALII[KL,SYS]	Page 2.1 	APT10 PDP-11 PROCESS, 13-AUG-75

	140474	104024			41$:	PNTAL
	140476	005037	150742			CLR	HLPPNT
	140502	000747				BR	ACTLD2		;REPEAT TILL "EOT"
					
	140504	000137	131304		1$:	JMP	LDPROC		;GO TO LOAD PROCESS
					
					.LIF DF MONASB
					ACTEOF:	COMCLR
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 344
	APT11 PALII[KL,SYS]	Page 3 	APT10 PDP-11 PROCESS, 13-AUG-75

		140510			DAHLPD=.
	140510	005737	151140			TST	DIAFLG		;DOING DIAMON ?
	140514	001402				BEQ	10$		;NO
	140516	000137	112362			JMP	DIAEOF		;YES, SEND DIAMON END OF FILE
	140522	005737	147644		10$:	TST	IFILEF		;INDIRECT/DOUBLE INDIRECT ?
	140526	001002				BNE	21$		;YES
	140530	104031				PCRLF			;NO, JUST HELP
	140532	000422				BR	23$		;BACK TO CONSOLE
					
	140534	005737	147640		21$:	TST	JFILEF		;DOUBLE INDIRECT ?
	140540	100012				BPL	22$		;NO
	140542	105737	147640			TSTB	JFILEF		;PRESENT JUST INDIRECT ?
	140546	001407				BEQ	22$		;YES
	140550	105037	147640			CLRB	 JFILEF		;SET DONE WITH READING "J"
	140554	012737	010000	147636		MOV	#TOUTBF+5000,JFINP	;SET "J" POINTER TO BEGINNING
	140562	000137	100106			JMP	CONSL		;START RUNNING
					
	140566	012737	003000	147642	22$:	MOV	#TOUTBF,IFINP	;SET POINTER TO BEGINNING
	140574	105037	147644			CLRB	IFILEF
	140600	000137	100014		23$:	JMP	$CONSL		;GO PROCESS INDIRECT FILE
					
					ACTDON:
					.IF DF MONASB
						COMACK			;ACK TRANSFER BLOCK
						BCC	3$
					.ENDC
		140604			DADONE=.
	140604	005737	150746			TST	SRTFLG		;SELF START ?
	140610	001402				BEQ	1$
	140612	000137	113216			JMP	$$GO		;YES
	140616	000137	100014		1$:	JMP	$CONSL		;NO
					
					3$:	PMSG	<?EOF,ERR>
	140622	104025				  $PMSG
	140624	147267				  $$CLIT
	140626	000137	100004		$$C2:	JMP	$CNTLC
					
					ACTLDC:	PMSG	<?LOAD CHR>
	140632	104025				  $PMSG
	140634	147300				  $$CLIT
	140636	000405				BR	ACTERR
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 345
	APT11 PALII[KL,SYS]	Page 4 	APT10 PDP-11 PROCESS, 13-AUG-75

					ACTBCK:	PMSG	<?CKSUM>
	140640	104025				  $PMSG
	140642	147312				  $$CLIT
	140644	000402				BR	ACTERR
					
					ACTLDF:	PMSG	<?FORMAT>
	140646	104025				  $PMSG
	140650	147321				  $$CLIT
					
					ACTERR:	PMSG	< ERR: LOAD LINE >
	140652	104025				  $PMSG
	140654	147331				  $$CLIT
	140656	013700	150744			MOV	DEVLC,R0
	140662	104037				PNTDEC			;PRINT LOAD LINE NUMBER
	140664	104031				PCRLF
					.IF DF MONASB
						TST	DEVTYP
						BPL	2$		;DECTAPE/RP04
						INC	ARETRY
						CMP	#4,ARETRY	;REACHED RETRY LIMIT ?
						BEQ	1$		;YES
						COMNAK			;NO, NAK MESSAGE & TRY AGAIN
						DEC	DEVLC		;DECREMENT LINE COUNT
						JMP	ACTLD1
					
					1$:	PMSG	<CAN'T LOAD>
					.ENDC
	140666	000757			2$:	BR	$$C2
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 346
	APT11 PALII[KL,SYS]	Page 5 	COMMUNICATIONS ROUTINES

					.SBTTL	COMMUNICATIONS ROUTINES
					
					.IF DF MONASB
					
					$COMACK:INC	MSGNBR		;COUNT MESSAGE
					$$CMACK:MOV	#ACKMSG,R5	;MESSAGE ACKNOWLEDGE
						BR	$COMCX
					
					$COMNAK:MOV	#NAKMSG,R5	;MESSAGE NEGATIVE ACKNOWLEDGE
						BR	$COMCX
					
					$COMCMD:CLR	R5		;MESSAGE COMMAND
					
					$COMCX:	MOV	#3,R4		;RETRY 3 TIMES
					
					1$:	TST	R5
						BNE	2$
					
						COMSND			;COMMAND SEND
						BR	3$
					
					2$:	MOV	R5,R0
						COMCTL			;CONTROL SEQUENCE SEND
					
					3$:	COMLIN			;GET REPLY
						BCS	5$		;ERROR
						BPL	7$		;CONTROL SEQUENCE
					
						MOV	#136,R3		;NORMAL MESSAGE
						BIT	#1,MSGNBR	;ODD OR EVEN MESSAGE NUMBER
						BEQ	4$
						MOV	#041,R3
					4$:	CMP	R3,COMNBR	;CORRECT MESSAGE NUMBER ?
						BNE	$$CMACK		;NO, MUST BE REPEAT
						CLR	R0
					41$:	EXIT			;NEW MESSAGE READY FOR PROCESS
					
					5$:	DEC	R4		;EXCEEDED RETRY LIMIT ?
						BNE	6$		;NO, TRY AGAIN
						JMP	$COMERR		;YES, REPORT ERROR & ABORT
					
					6$:	TST	R5
						BNE	61$		;CONTROL REPEAT
						CMP	#-5,R0		;RECIEVED CHECKSUM ERROR ?
						BEQ	61$		;YES, SEND NAK
						COMRTRY			;COMMAND RETRY
						BR	3$
					
					61$:	MOV	#NAKMSG,R5
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 347
	APT11 PALII[KL,SYS]	Page 5.1 	COMMUNICATIONS ROUTINES

						BR	2$
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 348
	APT11 PALII[KL,SYS]	Page 6 	COMMUNICATIONS ROUTINES

					7$:	TTICHR			;GET CONTROL SEQUENCE CHARACTER
						CMPB	#'A,R0
						BEQ	41$		;A, ACKNOWLEDGE
						CMPB	#'Z,R0
						BEQ	8$		;Z, END OF TRANSMISSION
						CMPB	#'N,R0
						BNE	71$
						MOV	#-7,R0		;N, NEGATIVE ACKNOWLEDGE
						BR	5$
					
					71$:	MOV	#-10,R0		;UNKNOWN RESPONSE
						BR	5$
					
					8$:	EXITERR			;END OF FILE
					
					$COMERR:PUSH	R0
						PMSG	<?COMM ERR >
						POP	R0
						NEG	R0
						MOV	R0,R1
						PNTOCS
						PNTCI
						", 
						DEC	R1
						SL	R1,1
						MOV	CMERTB(R1),R0
						PNTAL
						JMP	$CNTLC
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 349
	APT11 PALII[KL,SYS]	Page 7 	COMMUNICATIONS ROUTINES

					CMERTB:	CMER1
						CMER2
						CMER3
						CMER4
						CMER5
						CMER6
						CMER7
						CMER10
					
					CMER1:	.ASCIZ	%NO RESPONSE%
					CMER2:	.ASCIZ	%LONG LINE%
					CMER3:	.ASCIZ	%MSG NBR%
					CMER4:	.ASCIZ	%NO CR%
					CMER5:	.ASCIZ	%MSG CKSUM%
					CMER6:	.ASCIZ	%FORMAT%
					CMER7:	.ASCIZ	%NAK%
					CMER10:	.ASCIZ	%UNKNOWN%
					.EVEN
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 350
	APT11 PALII[KL,SYS]	Page 8 	COMMUNICATIONS ROUTINES

					$COMSND:MOV	#COUTBF,R5
						CLR	R3
					
					1$:	CMPB	(R0),#CR	;REACHED CR YET ?
						BEQ	2$		;YES
						CMPB	(R0),#ALTMOD	;OR ALTMODE ?
						BEQ	12$		;YES, SUBSTITUTE CR
					
						TSTB	(R0)		;REACHED NULL BYTE ?
						BNE	11$
						MOV	#-6,R0		;YES, INCORRECT MESSAGE FORMAT
						BR	$COMERR
					
					11$:	MOVB	(R0),R2
						ADD	R2,R3		;ACCUMULATE CHECKSUM
						MOVB	(R0)+,(R5)+	;TRANSFER MSG TO OUTPUT BUFFER
						BR	1$
					
					12$:	MOV	#ALTMOD,(R5)+
						BR	22$
					2$:	MOVB	(R0)+,(R5)+	;PUT CR IN OUTPUT
					22$:	CLRB	(R5)		;FOLLOW WITH NULL
					
						MOV	#COUTBF-4,R5	;SETUP MESSAGE START
						MOVB	#136,(R5)
						BIT	#1,MSGNBR	;SET UP MESSAGE NUMBER CHAR
						BEQ	21$
						MOVB	#041,(R5)
					21$:	INC	R5
					
						NEG	R3		;NEGATE CHECKSUM
					
						MOV	R3,R0
						SWAB	R0
						BIC	#177400,R0
						SHIFTR
						  4
						JSR	PC,COMASC
						MOVB	R0,(R5)+	;INSERT 1ST CHECK CHAR
					
						MOV	R3,R0
						SHIFTR
						  6
						JSR	PC,COMASC
						MOVB	R0,(R5)+	;INSERT 2ND CHECK CHAR
					
						MOV	R3,R0
						JSR	PC,COMASC
						MOVB	R0,(R5)+	;INSERT 3RD CHECK CHAR
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 351
	APT11 PALII[KL,SYS]	Page 9 	COMMUNICATIONS ROUTINES

					$CMRTRY:MOV	#COUTBF-4,R0	;SETUP MESSAGE POINTER
					
					$COMCTL:TSTB	@$CMTKS		;ANY OLD CHARS ?
						BPL	1$
						MOVB	@$CMTKB,$TTYIN	;YES, GET GET OF IT
						BR	$COMCTL
					
					1$:	TSTB	@$CMTPS		;WAIT TILL OUTPUT IS READY
						BPL	$COMCTL
					
						MOV	#2,R1		;SEND 2 SYNC CHARACTERS
					2$:	MOVB	#SYN,@$CMTPB
					3$:	TSTB	@$CMTPS
						BPL	3$
						DEC	R1
						BNE	2$
					
					4$:	MOVB	(R0)+,R1	;GET MESSAGE CHAR
						BEQ	6$		;IF NULL, DONE
					
						MOVB	R1,@$CMTPB	;SEND CHAR
					5$:	TSTB	@$CMTPS		;WAIT TILL OUTPUT READY
						BPL	5$
						BR	4$		;SEND TILL NULL
					
					6$:	EXIT			;COMPLETED
					
					COMASC:	BIC	#177700,R0	;KEEP 6 BITS
						CMP	R0,#74		;LEAVE 75,76,77 ALONE
						BGT	1$
						BIS	#100,R0		;SET BIT 7 FOR ASCIIZE
					1$:	RTS	PC
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 352
	APT11 PALII[KL,SYS]	Page 10 	COMMUNICATIONS ROUTINES

					$COMLIN:MOV	#CINBF-4,R1	;START BUFFER ADDRESS
						CLR	$TTYTIM		;CLEAR TIMEOUT
						CLR	R5		;CLEAR IN SYNC FLAG
					
					1$:	JSR	PC,C10COP	;PERFORM CLOCK OPERATIONS
						CMP	$TTYTIM,#<20.*60.>	;20 SECS
						BGT	90$		;TIMED OUT
					
						TSTB	@$CMTKS		;COMM IN FLAG SET ?
						BMI	2$		;YES
					
						JSR	PC,$PTTYC	;ANY OPERATOR INTERRUPT ?
						BR	1$		;NO
					
					2$:	MOVB	@$CMTKB,(R1)	;MOVE CHAR TO BUFFER
						BICB	#200,(R1)
						TSTB	(R1)
						BEQ	1$		;IGNORE NULLS
					
						CMPB	(R1),#SYN	;SYNC CHAR ?
						BEQ	21$		;YES
					
						TST	R5		;RECIEVED SYNC YET ?
						BEQ	1$		;NO, DUMP GARBAGE CHARS
					
						CMPB	(R1),#ALTMOD
						BEQ	3$		;ALTMODE, CONTROL SEQUENCE
					
						CMPB	(R1),#'$	;DOLLAR, PDP-10 SENDS THIS FOR ALTMODE
						BNE	22$
						CMP	R1,#CINBF	;LEGAL ONLY IF IN CONTROL SEQUENCE
						BLT	3$
					
					22$:	CMPB	(R1),#LF
						BEQ	4$		;LF, MESSAGE SEGMENT
					
						INC	R1
						CMP	R1,#CINBF+140.
						BLE	1$		;STILL ROOM
						BR	91$		;NO, LINE TOO LONG
					
					21$:	MOV	#-1,R5		;SYNC, SET IN SYNC FLAG
						BR	1$
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 353
	APT11 PALII[KL,SYS]	Page 11 	COMMUNICATIONS ROUTINES

					3$:	INC	R1		;NULL TO END BUFFER
						CLRB	(R1)
						MOV	R1,$INPTR	;SETUP INPUT POINTERS
						MOV	#CINBF-4,$INPTC
						EXIT			;CONTROL SEQUENCE RETURN
					
					4$:	INC	R1
						CLRB	(R1)
						MOV	R1,$INPTR	;SETUP INPUT POINTERS
						MOV	#CINBF-4,R1
						CMPB	#041,(R1)
						BEQ	41$
						CMPB	#136,(R1)
						BEQ	41$
						BR	92$		;MESSAGE NUMBER INCORRECT
					
					41$:	MOVB	(R1)+,COMNBR	;SAVE MESSAGE NUMBER
						CLR	R0		;SETUP FOR MESSAGE CHECKSUM
						MOV	#3,R5		;CHARS 2,3,4 ARE CHECKSUM
					
					42$:	SL	R0,6
						MOVB	(R1)+,R4	;GET 1ST CHECK CHAR
						BIC	#100,R4		;CLEAR ASCIIZE BIT
						BIS	R4,R0		;INSERT IN 16 BIT CHECKSUM
						DEC	R5
						BGT	42$		;DO 3 CHARS
					
					43$:	CMPB	(R1),#CR	;REACHED EOL ?
						BEQ	44$		;YES
						TSTB	(R1)		;PAST EOL WITHOUT CR ?
						BEQ	93$		;YES, NO CR ERROR
					
						MOVB	(R1)+,R3
						ADD	R3,R0		;ACCUMULATE CHECKSUM
						BR	43$
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 354
	APT11 PALII[KL,SYS]	Page 12 	COMMUNICATIONS ROUTINES

					44$:	TST	R0		;DID CHECKSUM COMPUTE TO 0 ?
						BNE	94$		;NO, CHECKSUM ERROR
					
						MOV	#CINBF,$INPTC	;MESSAGE SEGMENT OK
						BIS	#NBIT,14(SP)	;SET NORMAL MESSAGE INDICATOR
						EXIT
					
					90$:	MOV	#-1,R0		;NO RESPONSE ERROR
						BR	99$
					
					91$:	MOV	#-2,R0		;LINE TOO LONG ERROR
						BR	99$
					
					92$:	CMPB	#'?,(R1)	;IS MESSAGE NUMBER QUESTION MARK ?
						BEQ	COMQ		;YES, HOST ERROR
						MOV	#-3,R0		;MESSAGE NUMBER CHAR ERROR
						BR	99$
					
					93$:	MOV	#-4,R0		;NO CARRIAGE RETURN ERROR
						BR	99$
					
					94$:	MOV	#-5,R0		;MESSAGE CHECKSUM ERROR
					
					99$:	EXITERR			;ERROR EXIT, C-BIT SET, CODE IN R0
					
					COMQ:	$PMSG			;PRINT ERROR REPLY
						 CINBF-4
						JMP	$CNTLC
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 355
	APT11 PALII[KL,SYS]	Page 13 	COMMUNICATIONS ROUTINES

					$COMENQ:COMCLR			;CLEAR COMMUNICATIONS
						SETFLG
						  ENQFLG		;SET APT10 IN PROGRESS
						MOV	#3,R4
					10$:	CLR	MSGNBR		;INITIALIZE MESSAGE NUMBER
						MOV	#ENQMSG,R0
						COMCTL			;SEND "ENQ" MESSAGE
					
						COMLIN			;WAIT FOR REPLY
						BCS	1$		;ERROR, CODE IN R0
						BMI	3$		;NORMAL MESSAGE REPLY ?
						TTICHR
						CMPB	#'A,R0		;A, ACKNOWLEDGE
						BNE	1$
						EXIT			;ACKED, GO AHEAD
					
					1$:	TST	R0		;IS REPLY CODE NEGATIVE ?
						BMI	4$		;YES, COMLIN ERROR
					
						CMPB	#'Z,R0		;IS REPLY EOT, WAIT ?
						BNE	3$		;NO
					
						CLR	$TTYTIM		;YES, WAIT 10 SECONDS
					2$:	JSR	PC,$PTTYC
						JSR	PC,C10COP
						CMP	$TTYTIM,#<10.*60.>
						BLE	2$
						BR	$COMENQ		;THEN TRY AGAIN
					
					3$:	PMSG	<?APT10 ENQ>
						JMP	$CNTLC
					
					4$:	DEC	R4
						BNE	10$		;RETRY
						JMP	$COMERR		;COMMUNICATIONS ERROR
					
					$COMEOT:MOV	#EOTMSG,R0
						COMCTL
						EXIT
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 356
	APT11 PALII[KL,SYS]	Page 14 	COMMUNICATIONS ROUTINES

					$COMCLR:CLR	ENQFLG
						MOV	#CANMSG,R0
						COMCTL
						MOV	#100000,R1
					1$:	TSTB	@$CMTKS		;ANY INPUT IN PROGRESS ?
						BPL	2$
						MOVB	@$CMTKB,R0	;IF SO, GET RID OF IT
						BR	1$
					2$:	DEC	R1
						BNE	1$		;A LITTLE DELAY
						EXIT
					
					ENQMSG:	.BYTE	'E,33,0
					ACKMSG:	.BYTE	'A,33,0
					NAKMSG:	.BYTE	'N,33,0
					CANMSG:	.BYTE	'C,33,0
					EOTMSG:	.BYTE	'Z,33,0
					
						.EVEN
					
					.ENDC ;.IF DF MONASB
					
	140670	012700	150520		IFILEP:	MOV	#$INBUF,R0	;SETUP POINTERS
					.IF DF MONASB
						TST	DEVTYP
						BPL	10$
						MOV	#CINBF,R0
					.ENDC
	140674	013701	147642		10$:	MOV	IFINP,R1
	140700	112021			1$:	MOVB	(R0)+,(R1)+	;TRANSFER CHARS TO STORAGE
	140702	001376				BNE	1$		;TILL NULL
	140704	105011				CLRB	(R1)		;THEN STORE 2ND NULL
	140706	010137	147642			MOV	R1,IFINP	;RESAVE POINTER
	140712	020127	012600			CMP	R1,#TOUTBF+10000-200
	140716	003402				BLE	2$		;EXCEEDED BUFFER ROOM ?
	140720	000137	131760			JMP	$LINERR		;YES
	140724	000137	140422		2$:	JMP	ACTLD2		;REPEAT TILL EOF
					
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 357
	KLDCP PAL[KL,SYS]	Page 5.9 	COMMUNICATIONS ROUTINES

					
								;PDP-11 Core Dump to A11 file
					;.INSRT	CDMP11.PAL
					
								;KL10 diagnostic functions
					.INSRT	BR11.PAL		
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 358
	BR11 PALII[KL,SYS]	Page 1 	COMMUNICATIONS ROUTINES

				COMMENT ⊗   VALID 00025 PAGES
				C REC  PAGE   DESCRIPTION
				C00001 00001
				C00003 00002	.SBTTL	DTE20 INITIALIZATION ROUTINE, 9-SEPTEMBER-75
				C00005 00003	.SBTTL	ROUTINE TO READ THE EBUS VIA THE DTE20
				C00007 00004	.SBTTL	ROUTINE TO EXECUTE DIAG FUNCTION VIA DTE20
				C00009 00005	DIAGNOSTIC FUNCTION EXECUTE, FAST
				C00011 00006	.SBTTL	ROUTINE TO WRITE 36 BITS TO THE EBUS
				C00014 00007	.SBTTL	ROUTINE TO DO EBUS READ, THEN STORE DATA SOMEPLACE
				C00016 00008	.SBTTL	MASTER RESET ROUTINE
				C00021 00009	.SBTTL	CONTROL RAM ADDRESS ROUTINE
				C00023 00010	.SBTTL	WCRAM ROUTINE
				C00026 00011	$STRCH:	MOV	WREADY,R0	GET UNSPACED DATA
				C00028 00012	.SBTTL	RCRAM ROUTINE
				C00031 00013	15$:	MOVB	WREADY+1,-(R3)	ENDING UP
				C00033 00014	$SQASH:	MOV	WREADY,R1	GET STRETCHED BITS 8-19
				C00035 00015	.SBTTL	MICNUL & MICFIL C-RAM ROUTINES
				C00036 00016	MICFIL, C-RAM FILL WITH ONES ROUTINE
				C00037 00017	.SBTTL	WDRAM ROUTINE
				C00038 00018	.SBTTL	RDRAM ROUTINE
				C00040 00019	$DRAMAD: MOV	#DDRAM,R3	GET ADDRESS OF EBUS DATA
				C00042 00020	WRITE THE IR
				C00044 00021	.SBTTL	M-BOX CLOCK BURST ROUTINE
				C00046 00022	.SBTTL	LOAD AR ROUTINE
				C00049 00023	.SBTTL	MBOX PHASE ROUTINE
				C00052 00024	.SBTTL	VMA, VMAH, PC & ADDRESS BREAK ROUTINE
				C00054 00025		MOV	#WREADY+5,R1	NOW MOVE READ DATA
				C00056 ENDMK
					C⊗;
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 359
	BR11 PALII[KL,SYS]	Page 2 	DTE20 INITIALIZATION ROUTINE, 9-SEPTEMBER-75

					.SBTTL	DTE20 INITIALIZATION ROUTINE, 9-SEPTEMBER-75
					
	140730	005737	157316		DTEINI:	TST	$ONETM		;HAVE WE GONE THRU THIS ONCE BEFORE ?
	140734	001013				BNE	3$		;BR IF YES
	140736	012700	174400			MOV	#DTEADR,R0
					
	140742	012702	000020		11$:	MOV	#16.,R2
	140746	012701	157320			MOV	#.DELAY,R1
	140752	010021			1$:	MOV	R0,(R1)+	;SETUP DTE20 INDIRECT ADDRESS POINTERS
	140754	005200				INC	R0
	140756	005200				INC	R0
	140760	005302				DEC	R2
	140762	001373				BNE	1$
	140764	104055			3$:	SETFLG
	140766	157316				$ONETM
					
	140770	012700	141040			MOV	#$STJRS,R0	;SETUP "JRST" START INSTRUCTION
	140774	012701	157222			MOV	#$$STJRS,R1	;MUST BE IN STORAGE BECAUSE
	141000	012021				MOV	(R0)+,(R1)+	;THE JRST ADR IS VARIABLE
	141002	012021				MOV	(R0)+,(R1)+
	141004	012021				MOV	(R0)+,(R1)+
					
	141006	012700	141032			MOV	#$PAGDFL,R0	;SETUP "DATAO PAG,0" DEFAULT ARGUMENT
	141012	012701	157254			MOV	#PAGDFL,R1	;MUST BE IN STORAGE BECAUSE THE CURRENT
	141016	012021				MOV	(R0)+,(R1)+	;AC BLOCK SELECTION IS VARIABLE
	141020	012021				MOV	(R0)+,(R1)+
	141022	012021				MOV	(R0)+,(R1)+
					
	141024	005000				CLR	R0
	141026	104147				SETMPH			;SET M-BOX PHASE
	141030	000207				RTS	PC
					
					$PAGDFL:WD36	7000,0040,0000	;LD'S & NO ST ACC
		141040			.EVEN
					
					$STJRS:	I10	JRST,0,,0
		000000					ADH=0
		000000					ADL=0
						  .IF	NB 0
						  .IRPC	AD1,0
						  .IIF	GE <ADL-10000>,ADH=ADL/10000
						  ADL=10*<ADL&7777>+AD1
						  .ENDM
		770000				  .IIF	GE <ADL-10000>,ADH=ADL/10000
		000000				  ADL=10*<ADL&7777>+0
						  .ENDC
						  .IIF B 0,AC=0
		000000				  .IIF NB 0,AC=0
		000000				  .IIF B ,I=0
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 360
	BR11 PALII[KL,SYS]	Page 2.1 	DTE20 INITIALIZATION ROUTINE, 9-SEPTEMBER-75

						  .IIF NB ,I=
		000000				  .IIF B ,XR=0
						  .IIF NB ,XR=
		141046			.EVEN
					
	141046	013700	157320		$DTEBAS:MOV	.DELAY,R0
						EXIT
	141052	000137	124062			  JMP	$EXIT
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 361
	BR11 PALII[KL,SYS]	Page 3 	ROUTINE TO READ THE EBUS VIA THE DTE20

					.SBTTL	ROUTINE TO READ THE EBUS VIA THE DTE20
					
					;THIS IS THE ROUTINE TO READ 36 BITS FROM THE EBUS
					;THE CALL REQUIRES THE DIAGNOSTIC FUNCTION TO BE EXECUTED
					;TO BE IN REGISTER R0,RIGHT JUSTIFIED.
					;CALLING SEQUENCE:
					;	CALL-1:	MOV	#DIAG FUNCTION,R0
					;	CALL:	DFRD
					
	141056	017700	006572		$DFRDT:	MOV	@$EMADR,R0	;PICKUP TRAILING PARAMETER
	141062	062766	000002	000012		ADD	#2,12(SP)	;SKIP RETURN
					
	141070	004737	141376		$DFRD:	JSR	PC,$KLCK1	;CHECK KL10 CLOCK RUNNING
	141074	006300				ASL	R0		;MAKE DIAG FCN IN CORRECT BITS
	141076	000300				SWAB	R0		;MAKE DIAG FCN IN CORRECT BYTE
	141100	052700	000211			BIS	#DCOMST!DFUNC!DIKL10,R0 ;SET CORRECT DTE20 BITS
	141104	010077	016240			MOV	R0,@.DIAG1	;EXECUTE THE FUNCTION
					$DFXX:	WFZERO	DCOMST		;WAIT FOR DONE FLAG
	141110	012746	004704			  MOV	#2500.,-(SP)	;SET TIMEOUT CNT
	141114	032777	000001	016226	  91$:	  BIT	#DCOMST,@.DIAG1	;TEST BIT
	141122	001407				  BEQ	92$		;LEAVE IF BIT ZERO(OK)
	141124	005316				  DEC	(SP)		;DECREMENT CNT
	141126	001372				  BNE	91$		;CONTINUE LOOP
	141130	005737	147752			  TST	RPTFLG		;OTHERWISE TIME OUT
	141134	001002				  BNE	92$
	141136	004137	141154			  JSR	R1,$DFTIM
	141142	005726			  92$:	  TST	(SP)+		;RESET STACK & CONTINUE
	141144	004737	141450			JSR	PC,$KLCK2	;RESTART CLOCK IF NECESSARY
						EXIT
	141150	000137	124062			  JMP	$EXIT
					
	141154	005037	147710		$DFTIM:	CLR	TENRUN
						PMSG	<?DF TIMEOUT AT >
	141160	104025				  $PMSG
	141162	147352				  $$CLIT
	141164	010100				MOV	R1,R0
	141166	104035				PNTOCT
						PMSG	<PC = >
	141170	104025				  $PMSG
	141172	147372				  $$CLIT
	141174	016600	000016			MOV	16(SP),R0		;GET ADDRESS OF CALL
	141200	005740			$DFTMX:	TST	-(R0)
	141202	104035				PNTOCT
	141204	000137	100004			JMP	$CNTLC
					
					$ECTIM:	PMSG	<?CLK>
	141210	104025				  $PMSG
	141212	147400				  $$CLIT
					
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 362
	BR11 PALII[KL,SYS]	Page 3.1 	ROUTINE TO READ THE EBUS VIA THE DTE20

					$DFTM1:	PMSG	< ERR AT >
	141214	104025				  $PMSG
	141216	147405				  $$CLIT
	141220	010100				MOV	R1,R0
	141222	000766				BR	$DFTMX
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 363
	BR11 PALII[KL,SYS]	Page 4 	ROUTINE TO EXECUTE DIAG FUNCTION VIA DTE20

					.SBTTL	ROUTINE TO EXECUTE DIAG FUNCTION VIA DTE20
					
					;THIS IS THE ROUTINE TO EXECUTE A NON-DATA
					;DIAGNOSTIC FUNCTION.  THE CALL REQUIRES THE
					;DIAGNOSTIC FUNCTION TO BE EXECUTED TO BE IN
					;REGISTER R0,RIGHT JUSTIFIED
					
					;CALLING SEQUENCE:
					;	CALL-1:	MOV	#DIAG FUNCTION,R0
					;	CALL:	DFXCT
					
					;DIAGNOSTIC FUNCTION EXECUTE, TRAILING PARAMETER
					
	141224	017700	006424		$DXCTT:	MOV	@$EMADR,R0	;PICKUP TRAILING PARAMETER
	141230	062766	000002	000012		ADD	#2,12(SP)	;SKIP RETURN
	141236	000406				BR	$DFXCT
					
					;DIAGNOSTIC FUNCTION EXECUTE, SINGLE STEP KL10 CLOCK
					
	141240	005037	147474		$DFSCLK:CLR	KLCLKR		;CLEAR KL10 CLOCK RUNNING
	141244	012777	002201	016076		MOV	#DCOMST!DFUNC!<SSCLK*1000>,@.DIAG1
	141252	000422				BR	$$DFX1
					
					;DIAGNOSTIC FUNCTION EXECUTE
					
	141254	020027	000001		$DFXCT:	CMP	R0,#001		;KL10 CLOCK START FUNCTION ?
	141260	001406				BEQ	1$		;YES
	141262	020027	000007			CMP	R0,#007		;ANY OTHER CLOCK CONTROL FUNCTION ?
	141266	003006				BGT	2$		;NO
	141270	005037	147474			CLR	KLCLKR		;YES, CLEAR LOGICAL CLOCK RUN FLAG
	141274	000403				BR	2$
	141276	012737	777777	147474	1$:	MOV	#-1,KLCLKR	;CLOCK START, SET LOGICAL CLOCK RUN FLAG
	141304	006300			2$:	ASL	R0		;MAKE DIAG FCN IN CORRECT BITS
	141306	000300				SWAB	R0		;MAKE DIAG FCN IN CORRECT BYTE
	141310	052700	000201			BIS	#DCOMST!DFUNC,R0 ;SET CORRECT DTE20 BITS
	141314	010077	016030			MOV	R0,@.DIAG1	;EXECUTE THE FUNCTION
					$$DFX1:	WFZERO	DCOMST		;WAIT FOR DONE
	141320	012746	004704			  MOV	#2500.,-(SP)	;SET TIMEOUT CNT
	141324	032777	000001	016016	  91$:	  BIT	#DCOMST,@.DIAG1	;TEST BIT
	141332	001407				  BEQ	92$		;LEAVE IF BIT ZERO(OK)
	141334	005316				  DEC	(SP)		;DECREMENT CNT
	141336	001372				  BNE	91$		;CONTINUE LOOP
	141340	005737	147752			  TST	RPTFLG		;OTHERWISE TIME OUT
	141344	001002				  BNE	92$
	141346	004137	141154			  JSR	R1,$DFTIM
	141352	005726			  92$:	  TST	(SP)+		;RESET STACK & CONTINUE
						EXIT			;RETURN
	141354	000137	124062			  JMP	$EXIT
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 364
	BR11 PALII[KL,SYS]	Page 5 	ROUTINE TO EXECUTE DIAG FUNCTION VIA DTE20

					;DIAGNOSTIC FUNCTION EXECUTE, FAST
					
	141360	006300			$DFXFST:ASL	R0		;DIAG FUNCTION TO CORRECT BITS
	141362	000300				SWAB	R0
	141364	052700	000201			BIS	#DCOMST!DFUNC,R0
	141370	010077	015754			MOV	R0,@.DIAG1	;EXECUTE THE FUNCTION
	141374	000406				BR	$$DFXDN
					
					;KL10 CLOCK RUNNING CONTROLS
					
	141376	005737	147474		$KLCK1:	TST	KLCLKR		;KL10 CLOCK RUNNING ?
	141402	001421				BEQ	$KLCK4		;NO
	141404	012777	000201	015736		MOV	#DCOMST!DFUNC!<STPCLK*1000>,@.DIAG1
					$$DFXDN:
					$KLCK3:	WFZERO	DCOMST
	141412	012746	004704			  MOV	#2500.,-(SP)	;SET TIMEOUT CNT
	141416	032777	000001	015724	  91$:	  BIT	#DCOMST,@.DIAG1	;TEST BIT
	141424	001407				  BEQ	92$		;LEAVE IF BIT ZERO(OK)
	141426	005316				  DEC	(SP)		;DECREMENT CNT
	141430	001372				  BNE	91$		;CONTINUE LOOP
	141432	005737	147752			  TST	RPTFLG		;OTHERWISE TIME OUT
	141436	001002				  BNE	92$
	141440	004137	141154			  JSR	R1,$DFTIM
	141444	005726			  92$:	  TST	(SP)+		;RESET STACK & CONTINUE
	141446	000207			$KLCK4:	RTS	PC
					
	141450	005737	147474		$KLCK2:	TST	KLCLKR		;WAS CLOCK RUNNING ?
	141454	001774				BEQ	$KLCK4		;NO
	141456	012777	001201	015664		MOV	#DCOMST!DFUNC!<STRCLK*1000>,@.DIAG1
	141464	000752				BR	$KLCK3
					
	141466	010000			FFDEP:	DEP			;DTE20 DEPOSIT/EXAM BIT
					
					;DIAGNOSTIC FUNCTION, WRITE IR
					
	141470	104120			$DFWIR:	DFWRT			;THE LOAD AR FUNCTION IS ALREADY SETUP
	141472	012777	014201	015650		MOV	#DCOMST!DFUNC!<IRLOAD*1000>,@.DIAG1
	141500	004737	141412			JSR	PC,$$DFXDN	;STROBE DATA FROM AD TO IR
						EXIT
	141504	000137	124062			  JMP	$EXIT
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 365
	BR11 PALII[KL,SYS]	Page 6 	ROUTINE TO WRITE 36 BITS TO THE EBUS

					.SBTTL	ROUTINE TO WRITE 36 BITS TO THE EBUS
					
					;THIS IS THE ROUTINE TO WRITE 36 BITS TO THE EBUS
					;THE ROUTINE REQUIRES THAT THE ADDRESS OF THE DATA
					;TO BE WRITTEN IS IN REGISTER R1.  THE DIAGNOSTIC
					;FUNCTION WHICH DOES THE WRITE MUST BE RIGHT 
					;JUSTIFIED IN REGISTER R0.THE DATA TO BE WRITTEN MUST
					;BE IN 5 CONSECUTIVE BYTES AS FOLLOWS:
					;	.BYTE	EBUS BITS 28-35
					;	.BYTE	EBUS BITS 20-27
					;	.BYTE	EBUS BITS 12-19
					;	.BYTE	EBUS BITS 04-11
					;	.BYTE	EBUS BITS 00-03
					
					;CALLING SEQUENCE:
					;	CALL-2:	MOV	#ADDR,R1
					;	CALL-1:	MOV	#DIAG FCN,R0
					;	CALL:	DFWRT
					
	141510	004737	141376		$DFWRT:	JSR	PC,$KLCK1	;KL10 CLOCK RUNNING ?
						PUSH	R1		;SAVE  DESTINATION FOR POSTERITY
	141516	032701	000001			BIT	#1,R1		;DATA ON WORD BOUNDRY ?
	141522	001457				BEQ	2$		;YES
	141524	012705	147566			MOV	#XXDAT,R5
	141530	112125				MOVB	(R1)+,(R5)+	;PUT BITS 28-35 INTO CORE WORD
	141532	112125				MOVB	(R1)+,(R5)+	;PUT BITS 20-27 INTO CORE
	141534	014577	015562			MOV	-(R5),@.DAT3	;PUT BITS 20-35 INTO DTE20
	141540	112125				MOVB	(R1)+,(R5)+	;PUT BITS 12-19 INTO CORE WORD
	141542	112125				MOVB	(R1)+,(R5)+	;PUT BITS 4-11 INTO CORE WORD
	141544	014577	015554			MOV	-(R5),@.DAT2	;PUT BITS 4-19 INTO DTE20
	141550	112115				MOVB	(R1)+,(R5)	;PUT BITS 0-3 INTO CORE WORD
	141552	042715	177760			BIC	#177760,(R5)	;OFF TRASH
	141556	011577	015544			MOV	(R5),@.DAT1	;BITS 0-3 INTO DTE20
	141562	012777	000014	015560	1$:	MOV	#DIKL10!DSEND,@.DIAG1	;SET BIT TO DIAGNOSE KL10
	141570	013777	141466	015532		MOV	FFDEP,@.TENA1	;SET DEPOSIT BIT OF DTE20
	141576	013777	141466	015526		MOV	FFDEP,@.TENA2	;DO A PSEUDO DEPOSIT
						WFONE	DEXDON		;WAIT FOR A FLAG
	141604	012746	004704			  MOV	#2500.,-(SP)	;SET TIMEOUT CNT
	141610	032777	000004	015536	  93$:	  BIT	#DEXDON,@.STDTE	;TEST BIT
	141616	001007				  BNE	94$		;LEAVE IF NOW A ONE(OK)
	141620	005316				  DEC	(SP)		;DECREMENT CNT
	141622	001372				  BNE	93$		;CONTINUE LOOP
	141624	005737	147752			  TST	RPTFLG		;OTHERWISE TIME OUT
	141630	001002				  BNE	94$
	141632	004137	141154			  JSR	R1,$DFTIM
	141636	005726			  94$:	  TST	(SP)+		;RESET STACK
	141640	006300				ASL	R0		;GET DIAG FCN IN BIT POSITION
	141642	000300				SWAB	R0		;GET DIAG FCN IN BYTE POSITION
	141644	052700	000215			BIS	#DCOMST!DSEND!DIKL10!DFUNC,R0 ;SET DTE20 BITS
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 366
	BR11 PALII[KL,SYS]	Page 6.1 	ROUTINE TO WRITE 36 BITS TO THE EBUS

	141650	010077	015474			MOV	R0,@.DIAG1	;EXECUTE THE DIAGNOSTIC FUNCTION
						POP	R0		;RESTORE WHERE GOT DATA
	141656	000137	141110			JMP	$DFXX		;WAIT FOR DONE & EXIT
					
	141662	012177	015434		2$:	MOV	(R1)+,@.DAT3	;BITS 20-35
	141666	012177	015432			MOV	(R1)+,@.DAT2	;BITS 4-19
	141672	011177	015430			MOV	(R1),@.DAT1	;BITS 0-3
	141676	000731				BR	1$
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 367
	BR11 PALII[KL,SYS]	Page 7 	ROUTINE TO DO EBUS READ, THEN STORE DATA SOMEPLACE

					.SBTTL	ROUTINE TO DO EBUS READ, THEN STORE DATA SOMEPLACE
					
					;ENTER THIS ROUTINE WITH R0 CONTAINING DIAGNOSTIC FUNCTION TO EXECUTE
					;AND R1 CONTAINING ADDRESS OF BUFFER WHERE DATA SHOULD BE PLACED
					
	141700	104116			$DFRDMV:DFRD			;GO READ KL10 DATA
						PUSH	R1		;SAVE DESTINATION
	141704	013700	157322			MOV	.DAT3,R0	;GET ADDRESS OF DTE20 REG
	141710	112021				MOVB	(R0)+,(R1)+	;DATA FROM DTE TO CORE
	141712	112021				MOVB	(R0)+,(R1)+	;DATA FROM DTE TO CORE
	141714	112021				MOVB	(R0)+,(R1)+	;DATA FROM DTE TO CORE
	141716	112021				MOVB	(R0)+,(R1)+	;DATA FROM DTE TO CORE
	141720	112021				MOVB	(R0)+,(R1)+	;DATA FROM DTE TO CORE
						POP	R0		;RESTORE REG R1
						EXIT
	141724	000137	124062			  JMP	$EXIT
					
					;DIAGNOSTIC FUNCTION WRITE, TRAILING PARAMETER
					
	141730	013705	147654		$DWRTT:	MOV	$EMADR,R5
	141734	012501				MOV	(R5)+,R1	;DATA ADDRESS TO R1
	141736	011500				MOV	(R5),R0		;DIAG FUNCTION TO R0
	141740	062766	000004	000012		ADD	#4,12(SP)	;RETURN OVER TRAILING PARAMETERS
	141746	000660				BR	$DFWRT
					
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 368
	BR11 PALII[KL,SYS]	Page 8 	MASTER RESET ROUTINE

					.SBTTL	MASTER RESET ROUTINE
					;MASTER RESET DIAGNOSTIC FUNCTION LIST
					
	141750	   000			LLIST:	.BYTE	STPCLK		;STOP CLOCK
	141751	   007				.BYTE	SETMR		;SET MASTER RESET
	141752	   001				.BYTE	STRCLK		;START CLOCK
	141753	   042				.BYTE	LDBRR		;LOAD BURST REGISTER RIGHT
	141754	   043				.BYTE	LDBRL		;LOAD BURST REGISTER LEFT
	141755	   045				.BYTE	LDDIS		;LOAD CLOCK DISTRIBUTION REGISTER
	141756	   046				.BYTE	LDCHK1		;LOAD PARITY CHECK REGISTER
	141757	   047				.BYTE	LDCHK2		;LOAD EBOX INTERNAL CHECK REGISTER
	141760	   070				.BYTE	LDCHAN		;INITIALIZE CHANNELS
	141761	   000				.BYTE	STPCLK		;STOP CLOCK
		000012			LLISTL==.-LLIST			;BUT THE LAST THREE ARE SPECIAL
	141762	   067				.BYTE	ENIOJA		;SET IR DECODE TO KL10 MODE
	141763	   076				.BYTE	76		;D.F. TO CONTROL EBUS REG
	141764	   071				.BYTE	LDMBXA		;LOAD MEMORY TO CACHE SELECTOR
		141766			.EVEN
					
					;THIS IS A ROUTINE TO DO A MASTER RESET.
					
					$MRESET:PUSH	R0		;SAVE REGISTERS
	141770	005737	147710			TST	TENRUN		;PDP-10 PRESENTLY RUNNING ?
	141774	001401				BEQ	90$		;BR IF NOT
	141776	104077				TENSP			;STOP TEN
	142000	005037	152236		90$:	CLR	TENCLK		;AFTER THIS, THE 10 DOESN'T NEED CLOCK INTS
	142004	005037	147442			CLR SWTDEP		; OR DATA SWITCHES ...
	142010	005037	147706			CLR MONMODE		; ... OR MONITOR MODE (CLEAR FOR KA SIM)
	142014	005037	147704			CLR MTTYOF
	142020	005037	147700			CLR KASIM		;AND IS NO LONGER IN KASIM MODE
					.IF DF CLKASB
	142024	005037	157142			CLR TIMFLG		; ... OR TIME OF DAY
	142030	005037	157140			CLR TMSFLG
					.ENDC DF CLKASB
	142034	012777	000100	015310		MOV	#DRESET,@.DIAG2		;MASTER CLEAR THE DTE20
					.IF DF %%QMP
					;For QMP11, include INTRON in new DTE status
	142042	012777	053141	015304		MOV	#INTRON!DON10C!ERR10C!INT11C!PERCLR!DON11C!ERR11C,@.STDTE ;CLEAR DTE20 STATUS
					.IFF
						MOV	#DON10C!ERR10C!INT11C!PERCLR!DON11C!ERR11C,@.STDTE ;CLEAR DTE20 STATUS
					.ENDC
	142050	104141				DFWRTT			;WRITE TO CLOCK
	142052	157246				CLKDFL			;SET CLOCK TO DEFAULT
	142054	000044				LDSEL
	142056	005037	147474			CLR	KLCLKR		;CLEAR KL10 CLOCK RUNNING
	142062	012701	000012			MOV	#LLISTL,R1	;MUST EXECUTE TEN DIAG FUNCTIONS IN MR
	142066	012702	141750			MOV	#LLIST,R2	;ADDRESS OF FUNCTIONS INTO R2
	142072	112200			1$:	MOVB	(R2)+,R0	;FUNCTION TO R0 FOR THE EXECUTE CALL
	142074	004737	141360			JSR	PC,$DFXFST	;EXECUTE THE DIAGNOSTIC FUNCTION
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 369
	BR11 PALII[KL,SYS]	Page 8.1 	MASTER RESET ROUTINE

	142100	005301				DEC	R1		;DECREMENT COUNT OF # OF FUNCTIONS LEFT
	142102	001373				BNE	1$		;CONTINUE TILL DONE
					
	142104	012704	000003			MOV	#3,R4		;SYNC MBOX NXM LOGIC
	142110	104140			2$:	DFRDT			;TEST A CHANGE COMING L
	142112	000162				  162
	142114	032777	000010	015200		BIT	#BIT3,@.DAT3
	142122	001407				BEQ	3$		;ASSERTED, CONTINUE
	142124	012777	002201	015216		MOV	#DCOMST!DFUNC!<SSCLK*1000>,@.DIAG1
	142132	004737	141412			JSR	PC,$$DFXDN	;DO ONE MBOX CLOCK
	142136	005304				DEC	R4		;DONE 3 CLOCKS ?
	142140	003363				BGT	2$		;NO, TRY AGAIN
					
	142142	012777	004201	015200	3$:	MOV	#DCOMST!DFUNC!<CECLK*1000>,@.DIAG1
	142150	004737	141412			JSR	PC,$$DFXDN	;CONDITIONAL EBOX CLOCK
	142154	012777	006201	015166		MOV	#DCOMST!DFUNC!<CLRMR*1000>,@.DIAG1
	142162	004737	141412			JSR	PC,$$DFXDN	;CLEAR MR
					
	142166	112200				MOVB	(R2)+,R0
	142170	004737	141360			JSR	PC,$DFXFST	;SET IR DECODE
					
	142174	112200				MOVB	(R2)+,R0	;GET THE NEXT FUNCTION FROM THE LIST
	142176	012701	147552			MOV	#WREADY,R1	;CLEAR A 36 BIT BUFFER FOR SENDING DATA
	142202	010105				MOV	R1,R5
	142204	005025				CLR	(R5)+		;CLEAR A WORK AREA
	142206	005025				CLR	(R5)+
	142210	005015				CLR	(R5)
	142212	104120				DFWRT			;WRITE 0'S TO EBUS & PREVENT SBUS RESET
	142214	112711	000012			MOVB	#12,(R1)
	142220	112200				MOVB	(R2)+,R0	;GET NEXT DIAG FUNCTION
	142222	104120				DFWRT			;LOAD MEMORY TO CACHE SELECTOR
						POP	R0
						EXIT
	142226	000137	124062			  JMP	$EXIT
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 370
	BR11 PALII[KL,SYS]	Page 9 	CONTROL RAM ADDRESS ROUTINE

					.SBTTL	CONTROL RAM ADDRESS ROUTINE
					
					$WWADR:	PUSH	R1		;SAVE R1
	142234	005700				TST	R0		;IF BIT 15 SET, AVOID MASTER RESET
	142236	100407				BMI	1$
	142240	032700	040000			BIT	#BIT14,R0	;IF BIT 14 SET, SPECIAL RESET
	142244	001403				BEQ	2$
	142246	004737	142616			JSR	PC,$SPCMR	;SPECIAL MASTER RESET
	142252	000401				BR	1$
	142254	104076			2$:	MRESET
	142256	042700	140000		1$:	BIC	#BIT15!BIT14,R0	;CLEAR CONTROL BITS ANYWAY
	142262	012705	147554			MOV	#WREADY+2,R5
	142266	005015				CLR	(R5)		;CLEAR A WORK AREA
	142270	005045				CLR	-(R5)
					
						PUSH	R0
	142274	004737	142336			JSR	PC,99$		;GO LOAD EBUS BITS 00-05
	142300	012700	000052			MOV	#LCRDAL,R0	;WILL WRITE BITS 00-04 OF CR-ADR
	142304	104120				DFWRT
						POP	R0		;GET COPY OF ORIGINAL CR-ADR
	142310	000300				SWAB	R0		;GET BITS 00-04
	142312	006200				ASR	R0		;TO LOW ORDER BITS
	142314	006200				ASR	R0		;OF R0.
	142316	004737	142336			JSR	PC,99$		;GO LOAD EBUS BITS 00-05
	142322	012700	000051			MOV	#LCRDAR,R0	;WILL WRITE BITS 5-10 OF CRADR
	142326	104120				DFWRT
						POP	R1		;RESTORE R1
						EXIT
	142332	000137	124062			  JMP	$EXIT
					
	142336	042700	000077		99$:	BIC	#77,R0		;DEAL ONLY WITH 6 BITS
	142342	110037	147555			MOVB	R0,WREADY+3	;MOV TO EBUS BITS 4 & 5
	142346	000300				SWAB	R0
	142350	110037	147556			MOVB	R0,WREADY+4	;MOV TO EBUS BITS 0,1,2, & 3
	142354	010501				MOV	R5,R1		;ADDRESS FOR DFWRT
	142356	000207				RTS	PC
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 371
	BR11 PALII[KL,SYS]	Page 10 	WCRAM ROUTINE

					.SBTTL	WCRAM ROUTINE
					
	142360	   057			WRLIST:	.BYTE	LCRAM1		;CRAM BITS 00-19
	142361	   056				.BYTE	LCRAM2		;CRAM BITS 20-39
	142362	   055				.BYTE	LCRAM3		;CRAM BITS 40-59
	142363	   054				.BYTE	LCRAM4		;CRAM BITS 60-79-EVEN
		142364			.EVEN
					
	142364	010102			$WCRAM:	MOV	R1,R2		;GET COPY OF DATA ADDRESS
	142366	104075				WWADR			;GO AND WRITE C-RAM ADDRESS
	142370	012704	000003			MOV	#3,R4		;FOUR LOOPS PER C-RAM WORD
					
	142374	012701	147552		1$:	MOV	#WREADY,R1	;GET HOLDING AREA
	142400	112221				MOVB	(R2)+,(R1)+	;REAL DATA TO HOLDING AREA
	142402	112221				MOVB	(R2)+,(R1)+
	142404	111221				MOVB	(R2),(R1)+
					
	142406	005737	147550			TST	SIGNL		;SEE IF DESIRED BITS ON WORD BOUNDARY
	142412	001412				BEQ	3$		;AVOID RORING CODE IF YES
					
					;THIS IS WONDERFUL RORING CODE
					
	142414	105722				TSTB	(R2)+		;MUST INCREMENT DATA ADDR PTR
	142416	012700	000004			MOV	#4,R0		;FOUR SHIFTS IN THIS LOOP
					
	142422	012701	147555		2$:	MOV	#WREADY+3,R1	;POINT TO HOLDING AREA
	142426	106041				RORB	-(R1)		;SHIFT & INCLUDE "C" BIT
	142430	106041				RORB	-(R1)
	142432	106041				RORB	-(R1)
	142434	005300				DEC	R0		;DONE?
	142436	001371				BNE	2$		;LOOP BACK IF NO
					
					;COMMON CODE
					
	142440	005137	147550		3$:	COM	SIGNL		;CHANGE BOUNDARY FLAG
	142444	042737	177760	147554		BIC	#177760,WREADY+2  ;ONLY 4 BITS COUNT
	142452	004737	142532		4$:	JSR	PC,$STRCH	;GO FILL IN EBUS SPACE
	142456	116400	142360			MOVB	WRLIST(R4),R0	;CORRECT WRITE FUNCTION TO R0
	142462	012701	147552			MOV	#WREADY,R1	;ADDRESS OF DATA
	142466	104120				DFWRT
	142470	005304				DEC	R4		;DONE ENTIRE RAM WORD?
	142472	002340				BGE	1$		;BR BACK IFNO
					
					;CODE TO LOAD DISP 00-04
					
	142474	111237	147556			MOVB	(R2),WREADY+4	;GET DATA FOR DISP
	142500	106237	147556			ASRB	WREADY+4	;SHIFT DATA
	142504	106037	147555			RORB	WREADY+3	;TO EBUS BITS
	142510	106237	147556			ASRB	WREADY+4	;00-05
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 372
	BR11 PALII[KL,SYS]	Page 10.1 	WCRAM ROUTINE

	142514	106037	147555			RORB	WREADY+3
	142520	104141				DFWRTT			;WRITE
	142522	147552				WREADY			;DATA ADDRESS
	142524	000053				LCRAM5			;DIAG FUNCTION
						EXIT			;DONE
	142526	000137	124062			  JMP	$EXIT
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 373
	BR11 PALII[KL,SYS]	Page 11 	WCRAM ROUTINE

	142532	013700	147552		$STRCH:	MOV	WREADY,R0	;GET UNSPACED DATA
	142536	113737	147554	147555		MOVB	WREADY+2,WREADY+3 ;PUT C-RAM 0-3 BITS INTO CORRECT CORE
	142544	005003				CLR	R3		;NO JUNK LEFT IN R3
	142546	000261				SEC			;SET "C" BIT TO USE AS FLAG
	142550	012705	000004		1$:	MOV	#4,R5		;FOUR SHIFTS BETWEEN BLANKS
	142554	006003			2$:	ROR	R3		;NEW DATA LEFT END OF DESTINATION
	142556	103407				BCS	3$		;IF FLAG FALLS OUT..DONE
	142560	006000				ROR	R0		;ROTATE SOURCE BITS RIGHT
	142562	005305				DEC	R5		;DONE 4 YET??
	142564	002373				BGE	2$		;BR IF NO
					
	142566	006100				ROL	R0		;REPAIR ANY DAMAGES 
	142570	000241				CLC			;ZERO THE "C" BIT
	142572	006003				ROR	R3		;AND ROLL ZEROES
	142574	000765				BR	1$		;AND CONTINUE
					
					;GET HERE TO FINISH UP
					
	142576	000241			3$:	CLC			;ZERO "C" BIT AGAIN
	142600	006100				ROL	R0		;BITS 4-7
	142602	006100				ROL	R0		;MUST BE CORRECTED
	142604	010337	147552			MOV	R3,WREADY	;BITS 8-19 INTO CORE
	142610	110037	147554			MOVB	R0,WREADY+2	;BITS 4-7 INTO CORE
	142614	000207				RTS	PC		;DONE
					
					;SPECIAL BASIC MASTER RESET
					
					$SPCMR:	PUSH	<R0,R1,R2>
	142624	005037	147474			CLR	KLCLKR		;CLEAR KL10 CLOCK RUNNING
	142630	012701	142664			MOV	#$SMRLST,R1	;COMMAND ADR TO R1
	142634	012702	000004			MOV	#4,R2		;FOUR COMMANDS
	142640	012177	014504		1$:	MOV	(R1)+,@.DIAG1
	142644	004737	141412			JSR	PC,$$DFXDN	;EXECUTE FUNCTION
	142650	005302				DEC	R2
	142652	001372				BNE	1$
						POP	<R2,R1,R0>
	142662	000207				RTS	PC
					
	142664	007201			$SMRLST:.WORD	DCOMST!DFUNC!<SETMR*1000>
	142666	001201				.WORD	DCOMST!DFUNC!<STRCLK*1000>
	142670	000201				.WORD	DCOMST!DFUNC!<STPCLK*1000>
	142672	006201				.WORD	DCOMST!DFUNC!<CLRMR*1000>
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 374
	BR11 PALII[KL,SYS]	Page 12 	RCRAM ROUTINE

					.SBTTL	RCRAM ROUTINE
					
	142674	005700			$RCRAM:	TST	R0		;IS R0 NEG
	142676	100406				BMI	1$		;READ CURRENT CR IF YES
					
	142700	104075				WWADR			;EXAMINE ADDRESS IN R0 IF HERE
	142702	012777	003201	014440		MOV	#DCOMST!DFUNC!<SECLK*1000>,@.DIAG1
	142710	004737	141412			JSR	PC,$$DFXDN	;CLOCK ADDRESS CONTENTS TO C.R.
					
	142714	012703	147546		1$:	MOV	#$BUFRC+10.,R3	;GET BUFFER ADDR FOR C-RAM CONTENTS
	142720	012704	143150			MOV	#$RDLST,R4	;GET DIAG FUNCTION LIST
					
	142724	112400			2$:	MOVB	(R4)+,R0	;DIAG FUNCTION
	142726	104116				DFRD
	142730	012701	147552			MOV	#WREADY,R1	;DESTINATION OF READ/MOVE
	142734	013700	157322			MOV	.DAT3,R0
	142740	012021				MOV	(R0)+,(R1)+
	142742	012021				MOV	(R0)+,(R1)+
	142744	011011				MOV	(R0),(R1)
					
	142746	004737	143154			JSR	PC,$SQASH	;GO CLEAR OUT BLANKS
	142752	012700	147555			MOV	#WREADY+3,R0	;ADDRESS OF DATA JUST READ
	142756	114043				MOVB	-(R0),-(R3)	;BITS 16-19 TO BUFFER
	142760	005737	147532			TST	SIGNL2		;CHECK TRAFFIC LIGHT
	142764	001005				BNE	4$		;BR TO RORING IF WRONG BOUNDARY
					
	142766	114043			3$:	MOVB	-(R0),-(R3)	;BITS 20-27 TO WORK AREA
	142770	114043				MOVB	-(R0),-(R3)	;BITS 28-35 TO WORK AREA
	142772	005137	147532			COM	SIGNL2		;CHANGE SIGNAL
	142776	000752				BR	2$		;GET MORE DATA
					
	143000	106313			4$:	ASLB	(R3)		;NEED TO FIX A HALF BYTE
	143002	106313				ASLB	(R3)
	143004	106313				ASLB	(R3)
	143006	106313				ASLB	(R3)
						PUSH	R0		;DON'T LOSE DATA ADDRESS
	143012	012700	000004			MOV	#4,R0		;DO NEXT LOOP FOUR TIMES
					
	143016	010302			10$:	MOV	R3,R2		;ADDRESS OF DATA TO R2
	143020	106122				ROLB	(R2)+		;SHIFT AND DON'T FORGET "C"
	143022	106122				ROLB	(R2)+
	143024	106122				ROLB	(R2)+
	143026	106122				ROLB	(R2)+
	143030	005300				DEC	R0		;ASSEMBLED COMPLETE HALF BYTE
	143032	001371				BNE	10$		;LOOP AGAIN IF NO
						POP	R0		;RETRIEVE DATA ADDRESS
	143036	105723				TSTB	(R3)+		;FIX DESTINATION ADDRESS
	143040	005737	147530			TST	SIGNL3		;CHECK SIGNAL
	143044	001003				BNE	15$		;DONE IF MINUS
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 375
	BR11 PALII[KL,SYS]	Page 12.1 	RCRAM ROUTINE

	143046	005137	147530			COM	SIGNL3		;OTHERWISE CHANGE SIGNAL
	143052	000745				BR	3$		;CONTINUE
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 376
	BR11 PALII[KL,SYS]	Page 13 	RCRAM ROUTINE

	143054	113743	147553		15$:	MOVB	WREADY+1,-(R3)	;ENDING UP
	143060	113743	147552			MOVB	WREADY,-(R3)	;CRAM BITS 0-15 TO BUFFER
	143064	005137	147530			COM	SIGNL3		;SIGNL3 TO ZERO
	143070	005137	147532			COM	SIGNL2		;SIGNL2 TO ZERO
	143074	104140				DFRDT
	143076	000141				RCSPEC			;READ SPEC FIELD
	143100	017701	014220			MOV	@.DAT2,R1	;GET DISP 03,04
	143104	017700	014216			MOV	@.DAT1,R0	;GET DISP 00,01,02
	143110	006101				ROL	R1		;JUSTIFY IN R0
	143112	006100				ROL	R0
	143114	006101				ROL	R1
	143116	006100				ROL	R0
					
	143120	042700	177740			BIC	#177740,R0	;CLEAR TRASH
	143124	110037	147546			MOVB	R0,$BUFRC+12	;SAVE IN BUFFER
	143130	012700	147536			MOV	#$BUFRC+2,R0	;RETURN DATA ADDRESS IN R0
	143134	042710	000005			BIC	#5,(R0)		;CLEAR PARITY BITS
	143140	042740	052525			BIC	#52525,-(R0)	;AND FIX ADDRESS
						EXIT			;DONE
	143144	000137	124062			  JMP	$EXIT
					
	143150	   147			$RDLST:	.BYTE	RCRAM1		;READ CRAM 0-19
	143151	   146				.BYTE	RCRAM2		;READ CRAM 20-39
	143152	   145				.BYTE	RCRAM3		;READ CRAM 40-59
	143153	   144				.BYTE	RCRAM4		;READ CRAM 60-79-EVEN
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 377
	BR11 PALII[KL,SYS]	Page 14 	RCRAM ROUTINE

	143154	013701	147552		$SQASH:	MOV	WREADY,R1	;GET STRETCHED BITS 8-19
	143160	013702	147554			MOV	WREADY+2,R2	;GET STRECHED BITS 0-7
	143164	005000				CLR	R0		;CLEAR A DESTINATION
	143166	000261				SEC			;SET A DONE FLAG
	143170	006000				ROR	R0		;AND ROLLIT INTO R0
	143172	012705	000004		1$:	MOV	#4,R5		;FOUR BITS PER GROUP
	143176	005305			2$:	DEC	R5		;DONE A GROUP OF FOUR
	143200	002413				BLT	20$		;BRANCH IF NO
	143202	006202				ASR	R2		;ROTATE SOURCE BITS RIGHT
	143204	006001				ROR	R1		;ALL TWENTY OF THEM
	143206	006000				ROR	R0		;BEGIN WITH FIRST FLAG INTO R0
	143210	103372				BCC	2$		;IF FLAG FALLS OUT..DONE
					
					;HERE TO FINISH UP
					
	143212	006201				ASR	R1		;MAKE LAST BLANKS
	143214	006201				ASR	R1		;GO VERY FAR AWAY
	143216	010037	147552			MOV	R0,WREADY	;STORE RESULTS IN CORE
	143222	010137	147554			MOV	R1,WREADY+2	;ALL DONE
	143226	000207				RTS	PC		;RETURN
					
	143230	006202			20$:	ASR	R2		;HERE TO SHIFT AWAY
	143232	006001				ROR	R1		;THE PAIR
	143234	006202				ASR	R2		;OF BLANKS HIDDEN
	143236	006001				ROR	R1		;AMIDST THE REAL DATA
	143240	000754				BR	1$		;CONTINUE
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 378
	BR11 PALII[KL,SYS]	Page 15 	MICNUL & MICFIL C-RAM ROUTINES

					.SBTTL	MICNUL & MICFIL C-RAM ROUTINES
					
					;MICNUL, FILL C-RAM LOCATIONS WITH ZEROS
					
	143242	010102			$MICNUL:MOV	R1,R2		;NUMBER OF WORDS TO R2
	143244	010003				MOV	R0,R3		;SAVE START ADDRESS
	143246	052703	100000			BIS	#100000,R3	;BYPASS MR AFTER FIRST TIME
	143252	012701	147576			MOV	#ZEROS,R1
					
	143256	104075			1$:	WWADR			;WRITE C-RAM ADDRESS
					
	143260	012704	000003			MOV	#3,R4
	143264	112700	000057			MOVB	#LCRAM1,R0	;1ST FUNCTION IS A WRITE
	143270	104120				DFWRT
					
	143272	116400	143322		2$:	MOVB	FLST(R4),R0	;DIAG FUNCTION
	143276	004737	141360			JSR	PC,$DFXFST
	143302	005304				DEC	R4
	143304	002372				BGE	2$		;ZERO ALL BITS
					
	143306	005203				INC	R3		;INCREMENT C-RAM ADDRESS
	143310	010300				MOV	R3,R0
	143312	005302				DEC	R2		;FINISHED ALL WORDS YET ?
	143314	003360				BGT	1$
					10$:	EXIT			;YES
	143316	000137	124062			  JMP	$EXIT
					
	143322	   053			FLST:	.BYTE	LCRAM5
	143323	   054				.BYTE	LCRAM4
	143324	   055				.BYTE	LCRAM3
	143325	   056				.BYTE	LCRAM2
	143326	   057				.BYTE	LCRAM1
		143330			.EVEN
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 379
	BR11 PALII[KL,SYS]	Page 16 	MICNUL & MICFIL C-RAM ROUTINES

					;MICFIL, C-RAM FILL WITH ONES ROUTINE
					
	143330	010102			$MICFIL:MOV	R1,R2		;NUMBER OF WORDS TO R2
	143332	010003				MOV	R0,R3		;SAVE ADDRESS
	143334	052703	100000			BIS	#100000,R3	;BYPASS MR AFTER FIRST TIME
	143340	012701	100056			MOV	#TENMO,R1	;36 BITS OF ONES
					
	143344	104075			1$:	WWADR			;WRITE C-RAM ADDRESS
	143346	012704	000004			MOV	#4,R4
					
	143352	116400	143322		2$:	MOVB	FLST(R4),R0	;DIAG FUNCTION
	143356	104120				DFWRT
	143360	005304				DEC	R4		;DO ALL BITS
	143362	002373				BGE	2$
					
	143364	005203				INC	R3		;INCREMENT C-RAM ADDRESS
	143366	010300				MOV	R3,R0
	143370	005302				DEC	R2		;DONE ALL ADDRESSES YET ?
	143372	003364				BGT	1$
					10$:	EXIT
	143374	000137	124062			  JMP	$EXIT
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 380
	BR11 PALII[KL,SYS]	Page 17 	WDRAM ROUTINE

					.SBTTL	WDRAM ROUTINE
					
	143400	010002			$WDRAM:	MOV	R0,R2		;COPY DRAM ADDRESS
	143402	006000				ROR	R0		;CHECK IF ODD OR EVEN
	143404	103002				BCC	1$		;BR IF EVEN
	143406	000137	113350			JMP	ADRERR		;ADDRESS ERROR IF ODD
					
	143412	006100			1$:	ROL	R0		;FIX ADDRESS
						PUSH	R1		;SAVE POINTER TO DATA
	143416	104130				DRAMAD			;GO WRITE DRAM ADDRESS
						POP	R3		;PUT POINTER TO DATA IN R3
	143422	012301				MOV	(R3)+,R1	;DATA INTO R1
	143424	004537	143772			JSR	R5,DATEVE	;WRITE EVEN DATA
	143430	012301				MOV	(R3)+,R1	;DATA INTO R1
	143432	004537	143756			JSR	R5,DATODD	;WRITE ODD DATA
	143436	011301				MOV	(R3),R1		;DATA INTO R1
	143440	004537	143744			JSR	R5,DATCOM	;WRITE COMMON DATA
						EXIT
	143444	000137	124062			  JMP	$EXIT
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 381
	BR11 PALII[KL,SYS]	Page 18 	RDRAM ROUTINE

					.SBTTL	RDRAM ROUTINE
					
					$RDRAM:	PUSH	<R1,R0>		;SAVE R1,STORE DRAM ADDR ON STACK TOP
	143454	005001				CLR	R1		;R1 IS AN INDEX COUNTER
	143456	104130			1$:	DRAMAD			;WRITE DRAM ADDRESS
	143460	012777	015201	013662		MOV	#DCOMST!DFUNC!<DRLTCH*1000>,@.DIAG1
	143466	004737	141412			JSR	PC,$$DFXDN	;STROBE DATA TO LATCHES
	143472	104140				DFRDT
	143474	000135				DRJ710			;FUNCTION TO READ J07,08,09,10
	143476	017700	013622			MOV	@.DAT2,R0	;GET J DATA 7-10
	143502	006200				ASR	R0		;RIGHT JUSTIFY
	143504	006200				ASR	R0		;J-FIELD DATA
	143506	042700	177700			BIC	#177700,R0	;CLEAR EXTRA
	143512	110061	147516			MOVB	R0,RDRTMP(R1)	;SAVE DATA IN CORE
	143516	005201				INC	R1		;INCREMENT INDEX
					
	143520	104140				DFRDT
	143522	000133				DRAMAB			;FUNCTION TO READ "A" & "B" FIELD
	143524	017700	013574			MOV	@.DAT2,R0	;GET A & B DATA
	143530	006200				ASR	R0		;RIGHT JUSTIFY
	143532	006200				ASR	R0		;IN R0
	143534	042700	177700			BIC	#177700,R0	;CLEAR EXTRA
	143540	110061	147516			MOVB	R0,RDRTMP(R1)	;STORE IN CORE
	143544	005201				INC	R1		;INCREMENT INDEX
					
					;DECIDE IF THIS IS FIRST OR SECOND PASS
					
	143546	020127	000003			CMP	R1,#3		;INDEX UP TO 3 YET??
	143552	002003				BGE	2$		;ON OUT IF YES
						POP	R0		;IF NO,GET DRAM ADDRESS
	143556	005200				INC	R0		;GET ODD HALF OF EVEN/ODD PAIR
	143560	000736				BR	1$		;LOOP AGAIN
					
	143562	104140			2$:	DFRDT
	143564	000134				DRJ1.4			;FUNCTION TO READ J01-J04
	143566	017700	013532			MOV	@.DAT2,R0	;GET JDATA 01-04
	143572	006200				ASR	R0		;RIGHT JUSTIFY
	143574	006200				ASR	R0		;J1-J4 BITS
	143576	042700	177760			BIC	#177760,R0	;CLEAR UNWANTED
	143602	110037	147522			MOVB	R0,RDRTMP+4	;BIT SET TO CORE
	143606	012700	147516			MOV	#RDRTMP,R0	;PASS BACK DATA ADDRESS IN R0
						POP	R1		;RESTORE R
						EXIT
	143614	000137	124062			  JMP	$EXIT
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 382
	BR11 PALII[KL,SYS]	Page 19 	RDRAM ROUTINE

	143620	012703	147522		$DRAMAD: MOV	#DDRAM,R3	;GET ADDRESS OF EBUS DATA
	143624	010304				MOV	R3,R4		;GET A COPY IN R4
	143626	122424				CMPB	(R4)+,(R4)+	;INCREMENT IT TO DDRAM+2
	143630	010002				MOV	R0,R2		;PUT ACTUAL ADDRESS IN R2
	143632	005102				COM	R2		;READY TO TEST ADDR BITS 0-2
	143634	032702	000700			BIT	#700,R2		;MAKE THE TEST
	143640	001416				BEQ	1$		;BR IF ADDR IS 7XX
					
					;CODE FOR NON 7XX ADDRESSES
					
	143642	005102				COM	R2		;WAS NOT 7XX,SO FIX ADDRESS
	143644	006302				ASL	R2		;JUSTIFY ADDRESS IN
	143646	006302				ASL	R2		;CORRECT BIT POSITION
	143650	006302				ASL	R2		;NEED THREE SHIFTS
	143652	105024				CLRB	(R4)+		;INCREMENT TO DDRAM+3
	143654	110224				MOVB	R2,(R4)+	;MOVE ADDR BITS 4-8 TO EBUS DATA
	143656	000302				SWAB	R2		;GET THE REST OF THE BITS
	143660	110214				MOVB	R2,(R4)		;MOVE ADDR BITS 0-3 TO EBUS DATA
	143662	004737	142616		4$:	JSR	PC,$SPCMR	;SPECIAL MASTER RESET
	143666	004537	143730			JSR	R5,WIRAR	;GO TO DO THE ACTUAL WRITE
						EXIT
	143672	000137	124062			  JMP	$EXIT
					
					;CODE FOR 7XX ADRESSES
					
	143676	005102			1$:	COM	R2		;FIX ADDRESS TO ORIGINAL STATE
	143700	006002				ROR	R2		;PUT LOW ORDER BIT IN "C" BIT
	143702	103402				BCS	2$		;"C" SET MEANS IR BIT 12 MUST=1
					
	143704	105024				CLRB	(R4)+		;NO "C" BIT MEANS IR BIT 12 MUST=0
	143706	000402				BR	3$		;GO TO MOVE ADDRESS TO EBUS DATA
					
	143710	112724	000200		2$:	MOVB	#200,(R4)+	;SET IR BIT 12=1
	143714	042702	000340		3$:	BIC	#340,R2
	143720	110224				MOVB	R2,(R4)+	;MOVE D-RAM ADDR TO EBUS BIT POSITION 7-11
	143722	112714	000016			MOVB	#16,(R4)	;SET THE 7 FROM 7XX IN EBUS DATA
	143726	000755				BR	4$
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 383
	BR11 PALII[KL,SYS]	Page 20 	RDRAM ROUTINE

					;WRITE THE IR
					
	143730	012701	147522		WIRAR:	MOV	#DDRAM,R1	;EBUS DATA ALWAYS AT DDRAM
	143734	012700	000077		WIRAR1:	MOV	#LDAR,R0	;FUNCTION TO LOAD AR
	143740	104121				DFWIR
	143742	000205				RTS	R5
					
					;NOW FOR COMMON LITTLE PIECES OF THE LOADING OF THE DRAM
					
	143744	012700	000062		DATCOM:	MOV	#LDRAM3,R0	;GET DIAG FUN TO WRITE COMMON
	143750	006301				ASL	R1		;JUSTIFY DATA FOR THE EBUS
	143752	006301				ASL	R1
	143754	000424				BR	CON2		;GO WRITE IT
					
	143756	012737	000061	147500	DATODD:	MOV	#LDRAM2,$DDRMS	;FUNCTION FOR J-FIELD A & B
	143764	012700	000064			MOV	#LDRJOD,R0	;FUNCTION FOR J-FIELD ODD
	143770	000405				BR	CON1		;GO
	143772	012737	000060	147500	DATEVE:	MOV	#LDRAM1,$DDRMS	;FUNCTION FOR J-FIELD A & B
	144000	012700	000063			MOV	#LDRJEV,R0	;FUNCTION J-FIELD EVEN
	144004	006301			CON1:	ASL	R1		;JUSTIFY PIECE I'M
	144006	006301				ASL	R1		;INTERESTED IN FOR J-DATA FIELDS
						PUSH	R1		;SAVE DATA TO BE SENT
	144012	004537	144026			JSR	R5,CON2		;WRITE J-DATA
						POP	R1		;GET DATA AGAIN
	144020	000301				SWAB	R1		;NOW I'VE GOT A & B
	144022	013700	147500			MOV	$DDRMS,R0	;GET CORRECT DIAG FUNCTION, & WRITE
					
	144026	110137	147524		CON2:	MOVB	R1,DDRAM+2	;R1 ALWAYS HAS THE DATA
	144032	012701	147522			MOV	#DDRAM,R1	;I ALWAYS PUT IT IN DDRAM
	144036	104120				DFWRT
	144040	000205				RTS	R5		;NOW WRITE
					
					;CLOCK DEFAULT PARAMETER ADDRESS
					
	144042	012700	157246		$CLKPRM:MOV	#CLKDFL,R0	;PUT ADDRESS IN R0
						EXIT
	144046	000137	124062			  JMP	$EXIT
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 384
	BR11 PALII[KL,SYS]	Page 21 	M-BOX CLOCK BURST ROUTINE

					.SBTTL	M-BOX CLOCK BURST ROUTINE
					
	144052	005037	147474		$BURST:	CLR	KLCLKR		;CLEAR KL10 CLOCK RUNNING
	144056	012701	147476			MOV	#$STDAT,R1	;WORD POINTER TO R1
	144062	010002				MOV	R0,R2		;BURST COUNT TO R2
	144064	042702	177600			BIC	#177600,R2	;SAVE LOWER 7 BITS
	144070	006100				ROL	R0
	144072	000300				SWAB	R0
	144074	005003				CLR	R3
	144076	150003				BISB	R0,R3		;# OF 128. CLOCK MULTIPLES
	144100	001425				BEQ	2$		;NONE, DO BURST
					
	144102	012777	000201	013240	1$:	MOV	#DCOMST!DFUNC!<STPCLK*1000>,@.DIAG1
	144110	004737	141412			JSR	PC,$$DFXDN	;CLEAR BURST MODE
	144114	005011				CLR	(R1)
	144116	012700	000042			MOV	#LDBRR,R0
	144122	104120				DFWRT			;CLEAR BURST REG RIGHT
	144124	012711	000010			MOV	#10,(R1)
	144130	012700	000043			MOV	#LDBRL,R0
	144134	104120				DFWRT			;LOAD BURST REG LEFT
	144136	012777	005201	013204		MOV	#DCOMST!DFUNC!<BRCLK*1000>,@.DIAG1
	144144	004737	141412			JSR	PC,$$DFXDN	;BURST 128 CLOCKS
	144150	005303				DEC	R3		;ANY MORE ?
	144152	003353				BGT	1$		;YES, DO 128 MORE
					
	144154	012777	000201	013166	2$:	MOV	#DCOMST!DFUNC!<STPCLK*1000>,@.DIAG1
	144162	004737	141412			JSR	PC,$$DFXDN	;CLEAR BURST MODE
	144166	010203				MOV	R2,R3		;NUMBER LEFT TO DO
	144170	042702	177760			BIC	#177760,R2
	144174	010211				MOV	R2,(R1)
	144176	012700	000042			MOV	#LDBRR,R0
	144202	104120				DFWRT			;LOAD BURST REG RIGHT
						SR	R3,4
	144214	010311				MOV	R3,(R1)
	144216	012700	000043			MOV	#LDBRL,R0
	144222	104120				DFWRT			;LOAD BURST REG LEFT
	144224	012777	005201	013116		MOV	#DCOMST!DFUNC!<BRCLK*1000>,@.DIAG1
	144232	004737	141412			JSR	PC,$$DFXDN	;BURST THE CLOCK
						EXIT
	144236	000137	124062			  JMP	$EXIT
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 385
	BR11 PALII[KL,SYS]	Page 22 	LOAD AR ROUTINE

					.SBTTL	LOAD AR ROUTINE
					
					; ROUTINE TO LOAD THE AR WITH AN INSTRUCTION TO BE EXECUTED.
					; GETS THE MICROCODE TO THE HALT LOOP, AND THEN LINES UP THE
					; MBOX PHASE CHANGE TIMING WITH EBOX SYNC BEFORE LOADING
					; THE AR.  THE LATTER IS NECCESSARY IN ORDER TO MAKE INSTRUCTION
					; EXECUTION REPEATABLE AT THE CLOCK TICK LEVEL FOR "TRACE" AND
					; FOR THE MBOX DIAGNOSTIC.
					
	144242	010003			$LODAR:	MOV	R0,R3		;SAVE DATA POINTER
	144244	012777	010201	013076		MOV	#DCOMST!DFUNC!<CLRRUN*1000>,@.DIAG1
	144252	004737	141412			JSR	PC,$$DFXDN	;STOP EXECUTION
	144256	012700	000177			MOV	#177,R0
	144262	104131				BURST			;RUN CLOCK FOR FIXED PERIOD
	144264	012777	004201	013056		MOV	#DCOMST!DFUNC!<CECLK*1000>,@.DIAG1
	144272	004737	141412			JSR	PC,$$DFXDN	;GET EBOX CLOCK FALSE
	144276	032777	001000	013044		BIT	#HALTLP,@.DIAG1
	144304	001002				BNE	1$		;IF AT HALT LOOP
					3$:	EXITERR
	144306	000137	124034			  JMP	$EXITE
					
					; NOW CALL ROUTINE TO GET MBOX IN PHASE
					
	144312	004737	144376		1$:	JSR	PC,$MBPHS
	144316	103001				BCC	2$		;BR IF ALL OK
	144320	000772				BR	3$
					
	144322	010301			2$:	MOV	R3,R1
	144324	012700	000077			MOV	#LDAR,R0
	144330	104120				DFWRT			;LOAD AR
						EXIT
	144332	000137	124062			  JMP	$EXIT
					
					; SETMPH EMT ROUTINE TO SELECT WHICH MBOX PHASE TO SYNC UP TO
					;DURING THE LODAR PROCESS. R0 SELECTS ONE OF FOUR PLACES TO SYNC.
					; R0 = 0, A CHANGE COMING; R0 = 1, HALFWAY TWIXT A AND B
					; R0 = 2, B CHANGE COMING; R0 = 3, HALFWAY TWIXT B AND A.
					
	144336	010037	157220		$SETMPH:MOV R0,$STODD		;SAVE FOR HALF-PHASE TEST
	144342	042700	000001			BIC #BIT0,R0		;CLR ODD-EVEN BIT
	144346	016037	144366	157214		MOV $STMTB(R0),$MPHDF	;SET DF VALUE FOR A OR B CHANGE
	144354	016037	144372	157216		MOV $STMT1(R0),$MPHMK	;SET BIT MASK FOR A OR B CHANGE
						EXIT
	144362	000137	124062			  JMP	$EXIT
					
	144366	000162			$STMTB:	162			;A CHANGE COMING DF
	144370	000163				163			;B CHANGE COMING DF
					
	144372	000010			$STMT1:	10			;A CHANGE COMING BIT MASK
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 386
	BR11 PALII[KL,SYS]	Page 22.1 	LOAD AR ROUTINE

	144374	000400				400			;B CHANGE COMING BIT MASK
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 387
	BR11 PALII[KL,SYS]	Page 23 	MBOX PHASE ROUTINE

					.SBTTL	MBOX PHASE ROUTINE
					
					; ROUTINE TO PHASE THE MBOX WITH THE EBOX HALT LOOP.
					; MICROCODE ASSUMPTIONS: THE HALT LOOP IS TWO INSTRUCTIONS
					;	THE FIRST IS AT AN EVEN ADDRESS AND HAS T=3T (these used to be labeled
					;	THE SECOND IS AT AN ODD ADDRESS AND HAS T=2T  backwards)
					; THIS CODE LOOKS FOR THE INTERSECTION OF THE EVEN ADDRESS,
					; CLK SYNC TRUE, PHASE CHANGE COMING TRUE, AND THE SELECTED
					; PHASE (A OR B CHANGE COMING). THE LATTER IS CHOSEN BY
					; THE "SETMPH" EMT.
					
	144376	012702	000024		$MBPHS:	MOV	#20.,R2		;SET TIMOUT VALUE
	144402	012701	000001		1$:	MOV	#1,R1		;SET TICK COUNTER
	144406	104140				DFRDT
	144410	000102				102
	144412	032777	000004	012702		BIT	#BIT2,@.DAT3	;BIT 33, CLK SYNC H
	144420	001442				BEQ	41$		;FALSE, TRY 1 CLOCK
					
	144422	104140				DFRDT
	144424	000144				144
	144426	032777	040000	012670		BIT	#BIT14,@.DAT2	;BIT 5, CR ADR 10 H
	144434	001033				BNE	42$		;ODD, TRY 2 CLOCKS
					
	144436	104140				DFRDT
	144440	000164				164
	144442	032777	000040	012652		BIT	#BIT5,@.DAT3	;BIT 30,PHASE CHANGE COMING L
	144450	001023				BNE	45$		;FALSE, TRY 5 CLOCKS
					
	144452	013700	157214			MOV $MPHDF,R0		;used to be MOVB  -- jbr 4/27
	144456	104116				DFRD
	144460	005000				CLR R0
	144462	033777	157216	012632		BIT $MPHMK,@.DAT3	;EITHER A OR B CHANGE COMING L used to be bitb --jbr
	144470	001402				BEQ 2$			;TRUE, EXIT
	144472	012700	000012			MOV	#10.,R0		;NEED 10 CLOCKS
	144476	032737	000001	157220	2$:	BIT	#BIT0,$STODD	;WANT HALFWAY BETWEEN?
	144504	001402				BEQ	3$		;BR IF NOT
	144506	062700	000005			ADD	#5,R0		;FIVE MORE TICKS THEN
	144512	104131			3$:	BURST			;DO THIS BURST:0,5,10, OR 15
	144514	000241				CLC
	144516	000207				RTS	PC		;WE'RE THERE
					
	144520	062701	000003		45$:	ADD	#3,R1		;MAKE IT FOUR
	144524	005201			42$:	INC	R1		;MAKE IT TWO OR FIVE
	144526	010100			41$:	MOV	R1,R0
	144530	104131				BURST			;DO ONE TWO OR FIVE
	144532	005302				DEC	R2		;COUNT TIMEOUT
	144534	001322				BNE	1$
	144536	000261				SEC
	144540	000207				RTS	PC		;TOOK TOO LONG, ERROR
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 388
	BR11 PALII[KL,SYS]	Page 24 	VMA, VMAH, PC & ADDRESS BREAK ROUTINE

					.SBTTL	VMA, VMAH, PC & ADDRESS BREAK ROUTINE
					
					;ROUTINE TO READ ONE OF 4 REGISTERS ON THE VMA BOARD.
					;ROUTINE RETURNS WITH R0 POINTING TO A 36 BIT WORD WITH
					;THE DESIRED DATA JUSTIFIED AT BIT 35
					
	144542	012700	000157		$DFVMH:	MOV	#DPVMHD,R0	;FUNCTION TO READ VMA HELD
	144546	000402				BR	$DFPC1
	144550	012700	000153		$DFPC:	MOV	#DPPC,R0	;FUNCTION TO READ PC
	144554	012705	000003		$DFPC1:	MOV	#3,R5
	144560	012704	000273			MOV	#273,R4		;MASK FOR REGISTER OFFSET FROM BIT 35
	144564	000410				BR	$VMPC
	144566	012700	000157		$DFVMA:	MOV	#DPVMA,R0	;DIAG FUNCTION TO READ VMA
	144572	000402				BR	$VMPC1
	144574	012700	000153		$DFADB:	MOV	#DPADB,R0	;DIAG FUNCTION TO READ ADDRESS BREAK
	144600	012704	000356		$VMPC1:	MOV	#356,R4
	144604	005005				CLR	R5
					$VMPC:	PUSH	R0
	144610	012702	000004			MOV	#4,R2		;FOUR READS PER REGISTER
	144614	012701	147570			MOV	#VMADAT,R1	;FIRST CLEAR ENTIRE 36-BIT BUFFER
	144620	005021				CLR	(R1)+
	144622	005021				CLR	(R1)+
	144624	005021				CLR	(R1)+
					
	144626	012701	147552		1$:	MOV	#WREADY,R1	;PUT DFRD DATA HERE
	144632	104117				DFRDMV
	144634	012700	000005			MOV	#5,R0		;MASK RECEIVED DATA, FIVE BYTES WORTH
	144640	140421			2$:	BICB	R4,(R1)+
	144642	005300				DEC	R0
	144644	003375				BGT	2$
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 389
	BR11 PALII[KL,SYS]	Page 25 	VMA, VMAH, PC & ADDRESS BREAK ROUTINE

	144646	012701	147557			MOV	#WREADY+5,R1	;NOW MOVE READ DATA
	144652	012700	147575			MOV	#VMADAT+5,R0	;TO VMA REGISTER DATA
	144656	154140				BISB	-(R1),-(R0)
	144660	154140				BISB	-(R1),-(R0)
	144662	154140				BISB	-(R1),-(R0)
	144664	154140				BISB	-(R1),-(R0)
	144666	154140				BISB	-(R1),-(R0)
	144670	106120				ROLB	(R0)+		;AND NOW SHIFT 35 BITS
	144672	106120				ROLB	(R0)+		;BY ONE BIT
	144674	106120				ROLB	(R0)+
	144676	106120				ROLB	(R0)+
	144700	106120				ROLB	(R0)+
					
	144702	005316				DEC	(SP)		;CREATE NEXT DIAG FUNCTION
	144704	011600				MOV	(SP),R0		;TAKE IT OFF THE STACK
	144706	005302				DEC	R2		;DONE FOUR FUNCTIONS YET?
	144710	003346				BGT	1$		;BR IF MORE TO DO
					
					;ALL DONE READING DATA, NOW JUSTIFY CORRECTLY FOR THE RETURN MACHINE
					
	144712	012700	147575		3$:	MOV	#VMADAT+5,R0	;MUST CORRECT BY OFFSET AMOUNT
	144716	106040				RORB	-(R0)
	144720	106040				RORB	-(R0)
	144722	106040				RORB	-(R0)
	144724	106040				RORB	-(R0)
	144726	106040				RORB	-(R0)
	144730	005305				DEC	R5		;DONE YET?
	144732	003367				BGT	3$		;BR IF NO
					
					;OFFSET MAY ORIGINALLY NEED TO BE GREATER THAN 0 IF
					;VMA DIAG MIXERS NOT RIGHT JUSTIFIED AT EBUS BIT 35
					
					4$:	POP	R0
	144736	012700	147570			MOV	#VMADAT,R0
						EXIT
	144742	000137	124062			  JMP	$EXIT
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 390
	KLDCP PAL[KL,SYS]	Page 5.10 	VMA, VMAH, PC & ADDRESS BREAK ROUTINE

					
								;Storage definitions
					.INSRT	SBST11.PAL
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 391
	SBST11 PAL[KL,SYS]	Page 1 	VMA, VMAH, PC & ADDRESS BREAK ROUTINE

				COMMENT ⊗   VALID 00009 PAGES
				C REC  PAGE   DESCRIPTION
				C00001 00001
				C00002 00002	.SBTTL	*STORE* PROGRAM STORAGE FILE, 5-AUG-75
				C00004 00003	BUFFER CREATION MACROS
				C00005 00004	PROGRAM BUFFERS & STORAGE AREA
				C00012 00005	COMMON STORAGE
				C00017 00006	DECTAPE PARAMETER STORAGE
				C00020 00007	TELETYPE BUFFERS
				C00023 00008	CONSOLE PARAMETER STORAGE
				C00025 00009	MISCELLANEOUS STORAGE
				C00028 ENDMK
					C⊗;
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 392
	SBST11 PAL[KL,SYS]	Page 2 	*STORE* PROGRAM STORAGE FILE, 5-AUG-75

					.SBTTL	*STORE* PROGRAM STORAGE FILE, 5-AUG-75
					
					.MACRO	INFORM	A,B
					.IF P2
					.PRINT	\A=B
					\
					.ENDC
					.ENDM
					
					
					.IF	DF KLDCP
					;DECISION TABLES FOR KL10/11 SUBROUTINE PACKAGE
					
					$DTBL0:
	144746	   012			$LF:	.BYTE	12
	144747	   015			$CR:	.BYTE	15
	144750	   007			$BELL:	.BYTE	07
	144751	   000				.BYTE	00
		144752			.EVEN
					
	144752	144760			$DTBL1:	$LFTBL			;LINE FEED FILL TABLE
	144754	144766				$CRTBL			;CARRIAGE RETURN FILL TABLE
	144756	144774				$BELLT			;BELL FILL TABLE
					
	144760	   001		
	144761	   001			$LFTBL:	.BYTE	1,1
	144762	   002		
	144763	   001				.BYTE	2,1
	144764	   002		
	144765	   004				.BYTE	2,4
					
	144766	   000		
	144767	   000			$CRTBL:	.BYTE	0,0
	144770	   011		
	144771	   001				.BYTE	9.,1
	144772	   002		
	144773	   004				.BYTE	2,4
					
	144774	   002		
	144775	   002			$BELLT:	.BYTE	2,2
	144776	   002		
	144777	   002				.BYTE	2,2
	145000	   002		
	145001	   002				.BYTE	2,2
					
	145002	023420			$DTBL:	10000.
	145004	001750				1000.
	145006	000144				100.
	145010	000012				10.
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 393
	SBST11 PAL[KL,SYS]	Page 2.1 	*STORE* PROGRAM STORAGE FILE, 5-AUG-75

	145012	000001				1.
	145014	000001			$TBLL:	1.
	145016	000012				10.
	145020	000144				100.
	145022	001750				1000.
	145024	023420				10000.
					
					.ENDC	;IF DF KLDCP
					
					INFORM	PROGRAM END,\.
					.IF P2
				.PRINT	\PROGRAM END=145026
					\
					.ENDC
					
					;THIS SECTION CONTAINS ALL PROGRAM TEXT LITERALS
					
	145026	147416			$$FF:	$$CLIT
					
		145030			$$LITT=.
		147416			$$$FF=$$CLIT
					
					INFORM LITERAL END,\$$CLIT
					.IF P2
				.PRINT	\LITERAL END=147416
					\
					.ENDC
					
					.IF P2
		147416			.=$$CLIT
		147440			PATCH:	.BLKW 11
PATCH+22	147440	2-64	.MSG Adjust size of PATCH according to amount of space available or needed.
		147440			PATEND==.
					.ENDC
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 394
	SBST11 PAL[KL,SYS]	Page 3 	*STORE* PROGRAM STORAGE FILE, 5-AUG-75

					;BUFFER CREATION MACROS
					
		157360			$$BUF==	COREND-420		;ROOM FOR STACK
		157360			$$STKM==$$BUF			;Bottom boundary of stack
					
					;WORD BUFFER ASSIGNMENT MACRO
					.MACRO	.BUFW	$BTAG,$BARG
						.IIF	NE $$BUF&1,$$BUF==$$BUF-1
						.IIF	B $BARG,$$BARG==1
						.IIF	NB $BARG,$$BARG==$BARG
						$$BUF==$$BUF-<$$BARG*2>
						.NLIST
						.LIST	ME	
						.LIST
					$BTAG==	$$BUF
						.NLIST	ME
					.ENDM
					
					;BYTE BUFFER ASSIGNMENT MACRO
					.MACRO	.BUFB	$BTAG,$BARG
						.IIF	B $BARG,$$BARG==1
						.IIF	NB $BARG,$$BARG==$BARG
						$$BUF==$$BUF-$$BARG
						.NLIST
						.LIST	ME
						.LIST
					$BTAG==	$$BUF
						.NLIST	ME
					.ENDM
					
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 395
	SBST11 PAL[KL,SYS]	Page 4 	*STORE* PROGRAM STORAGE FILE, 5-AUG-75

		157356			.DIAG3==	$$BUF
		157354			.STDTE==	$$BUF
		157352			.DIAG2==	$$BUF
		157350			.DIAG1==	$$BUF
		157346			.T11DT==	$$BUF
		157344			.T10DT==	$$BUF
		157342			.T11AD==	$$BUF
		157340			.T10AD==	$$BUF
		157336			.BC11==	$$BUF
		157334			.BC10==	$$BUF
		157332			.TENA2==	$$BUF
		157330			.TENA1==	$$BUF
		157326			.DAT1==	$$BUF
		157324			.DAT2==	$$BUF
		157322			.DAT3==	$$BUF
		157320			.DELAY==	$$BUF
		157316			$ONETM==	$$BUF
		157314			$ILDSUM==	$$BUF
		157312			$PWRCNT==	$$BUF
		157310			DEVTYP==	$$BUF
		157306			FLOPPY==	$$BUF
		157304			LPTFLG==	$$BUF
		157302			LPTYPE==	$$BUF
		157300			RXUNIT==	$$BUF
		157276			DTUNIT==	$$BUF
		157274			RPUNIT==	$$BUF
		157272			$BKFLG==	$$BUF
		157264			CLKPE==	$$BUF
		157262			PEBITS==	$$BUF
		157254			PAGDFL==	$$BUF
		157246			CLKDFL==	$$BUF
		157240			SWS10==	$$BUF
		157232			$SWS10==	$$BUF
		157230			$$SWR==	$$BUF
		157222			$$STJRS==	$$BUF
		157220			$STODD==	$$BUF
		157216			$MPHMK==	$$BUF
		157214			$MPHDF==	$$BUF
		157210			TGOADR==	$$BUF
		157204			PGOADR==	$$BUF
		157202			PGOCTL==	$$BUF
		157200			SEADR==	$$BUF
		157172			TIM11==	$$BUF
		157164			TIMBAS==	$$BUF
		157162			KTIMBS==	$$BUF
		157160			CLKFLG==	$$BUF
		157152			TIMTMP==	$$BUF
		157144			TIMADR==	$$BUF
		157142			TIMFLG==	$$BUF
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 396
	SBST11 PAL[KL,SYS]	Page 4.1 	*STORE* PROGRAM STORAGE FILE, 5-AUG-75

		157140			TMSFLG==	$$BUF
		157136			T11DBF==	$$BUF
		157134			DTEBSY==	$$BUF
		157132			DTEBCT==	$$BUF
		157130			EN0PKO==	$$BUF
		157126			EN0ER1==	$$BUF
		157124			EN0PER==	$$BUF
		157122			EN0PKI==	$$BUF
		157120			EN0ER2==	$$BUF
		157116			EN0MEM==	$$BUF
		157112			EN0BUF==	$$BUF
		157110			EN0IND==	$$BUF
		157106			ENBCCF==	$$BUF
		157100			COUN10==	$$BUF
		157076			EN0DLY==	$$BUF
		157072			TO10Q==	$$BUF
		157066			ENETQ==	$$BUF
		157062			FR10Q==	$$BUF
		157056			FREEQ==	$$BUF
		157054			QMPRQS==	$$BUF
		157052			ENIHAD==	$$BUF
		152312			BOOTBF==	$$BUF
		152306			BOOTSA==	$$BUF
		152302			BOOTBG==	$$BUF
		152300			FSSTATE==	$$BUF
		152276			FSTPTR==	$$BUF
		152274			FSTYPR==	$$BUF
		152262			FSRBUF==	$$BUF
		152260			FSRPTR==	$$BUF
		152256			FSFLG==	$$BUF
		152254			FSCLKA==	$$BUF
		152246			FSRTIM==	$$BUF
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 397
	SBST11 PAL[KL,SYS]	Page 5 	*STORE* PROGRAM STORAGE FILE, 5-AUG-75

		152244			$SWMON==	$$BUF
		152242			MONCTL==	$$BUF
		152240			TENSWD==	$$BUF
		152236			TENCLK==	$$BUF
		152234			PCMDFLG==	$$BUF
		152232			PCMDNF==	$$BUF
		152230			$ITERA==	$$BUF
		152226			$ENDCT==	$$BUF
		152224			$EOPCT==	$$BUF
		152222			$ERRPC==	$$BUF
		152220			$ERTTL==	$$BUF
		152216			$ERFLG==	$$BUF
		152214			$PASS==	$$BUF
		152212			$CMTAG==	$$BUF
		151212			DVBUF==	$$BUF
		151206			EXTBF==	$$BUF
		151200			NAMBF==	$$BUF
		151176			DIRST4==	$$BUF
		151174			DIRST3==	$$BUF
		151172			DIRST2==	$$BUF
		151170			DIRST1==	$$BUF
		151166			DIRST0==	$$BUF
		151164			DTEXT==	$$BUF
		151156			DTEXTS==	$$BUF
		151154			DTLNGTH==	$$BUF
		151152			DTSTRT==	$$BUF
		151150			DVADR==	$$BUF
		151146			DVCNT==	$$BUF
		151144			DVDIRF==	$$BUF
		151142			CDADR==	$$BUF
		151140			DIAFLG==	$$BUF
		151136			RPEOF==	$$BUF
		151130			WRTBAK==	$$BUF
		151124			$RPINFO==	$$BUF
		151116			NAMRAD==	$$BUF
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 398
	SBST11 PAL[KL,SYS]	Page 6 	*STORE* PROGRAM STORAGE FILE, 5-AUG-75

		151114			REVCNT==	$$BUF
		151112			INTSW==	$$BUF
		151110			$CKS11==	$$BUF
		151106			LTMP==	$$BUF
		151104			LBC==	$$BUF
		151102			TRYCTR==	$$BUF
		151100			DTXCMD==	$$BUF
		151076			WCSAV==	$$BUF
		151074			CASAV==	$$BUF
		151072			DTBLK==	$$BUF
		151070			LDATAE==	$$BUF
		150764			LDATA==	$$BUF
		150762			LDADR==	$$BUF
		150760			LDCNT==	$$BUF
		150756			LDOCTF==	$$BUF
		150754			LDCNTL==	$$BUF
		150752			LDOVRD==	$$BUF
		150750			LDZBLK==	$$BUF
		150746			SRTFLG==	$$BUF
		150744			DEVLC==	$$BUF
		150742			HLPPNT==	$$BUF
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 399
	SBST11 PAL[KL,SYS]	Page 7 	*STORE* PROGRAM STORAGE FILE, 5-AUG-75

		150740			$INPTR==	$$BUF
		150736			$INPTC==	$$BUF
		150520			$INBUF==	$$BUF
		150516			$OUTPC==	$$BUF
		150514			$OUTPT==	$$BUF
		150512			$OUTPP==	$$BUF
		150274			$OUTBF==	$$BUF
		150272			$TNPTR==	$$BUF
		150270			$TNPTC==	$$BUF
		150052			$TNBUF==	$$BUF
		150044			$TNCHR==	$$BUF
		150042			TENTTY==	$$BUF
		150040			$TTYIN==	$$BUF
		150024			$TTSAV==	$$BUF
		150022			$PRNTH==	$$BUF
		150020			$PGWID==	$$BUF
		150016			$TPLIN==	$$BUF
		150014			$TPLIT==	$$BUF
		150012			$XOFLG==	$$BUF
		150010			CTRLOF==	$$BUF
		150006			$EOLFLG==	$$BUF
		150004			$TTLKF==	$$BUF
		150002			TILNWF==	$$BUF
		150000			$FORCE==	$$BUF
		147776			$TTYFL==	$$BUF
		147774			$0FLG==	$$BUF
		147772			$NEG==	$$BUF
		147770			$SVH==	$$BUF
		147766			$SVM==	$$BUF
		147764			$TICHR==	$$BUF
		147762			$TOCHR==	$$BUF
		147760			DDTFLG==	$$BUF
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 400
	SBST11 PAL[KL,SYS]	Page 8 	*STORE* PROGRAM STORAGE FILE, 5-AUG-75

		147756			$KONSP==	$$BUF
		147754			ALLFLG==	$$BUF
		147752			RPTFLG==	$$BUF
		147750			VERIFY==	$$BUF
		147746			.EADR==	$$BUF
		147744			$ECADR==	$$BUF
		147742			$EDADR==	$$BUF
		147740			$ADR==	$$BUF
		147736			$ADR1==	$$BUF
		147730			.DFRDA==	$$BUF
		147724			.DPXAD==	$$BUF
		147720			L10ADR==	$$BUF
		147712			$TEMP0==	$$BUF
		147710			TENRUN==	$$BUF
		147706			MONMODE==	$$BUF
		147704			MTTYOF==	$$BUF
		147702			$TTYTIM==	$$BUF
		147700			KASIM==	$$BUF
		147676			$PCSAV==	$$BUF
		147674			$PSSAV==	$$BUF
		147672			$SPSAV==	$$BUF
		147670			$R5SAV==	$$BUF
		147666			$R4SAV==	$$BUF
		147664			$R3SAV==	$$BUF
		147662			$R2SAV==	$$BUF
		147660			$R1SAV==	$$BUF
		147656			$R0SAV==	$$BUF
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 401
	SBST11 PAL[KL,SYS]	Page 9 	*STORE* PROGRAM STORAGE FILE, 5-AUG-75

		147654			$EMADR==	$$BUF
		147652			$SWTCH==	$$BUF
		147650			$$SVSP==	$$BUF
		147646			TEMP==	$$BUF
		147644			IFILEF==	$$BUF
		147642			IFINP==	$$BUF
		147640			JFILEF==	$$BUF
		147636			JFINP==	$$BUF
		147634			PRGRUN==	$$BUF
		147632			MEMPEF==	$$BUF
		147630			.HCFLG==	$$BUF
		147626			.HCADR==	$$BUF
		147624			DDTTM1==	$$BUF
		147622			DDTTM2==	$$BUF
		147614			$ECMD==	$$BUF
		147606			$SAV20==	$$BUF
		147604			VRBFLG==	$$BUF
		147576			ZEROS==	$$BUF
		147570			VMADAT==	$$BUF
		147566			XXDAT==	$$BUF
		147560			MMDAT==	$$BUF
		147552			WREADY==	$$BUF
		147550			SIGNL==	$$BUF
		147534			$BUFRC==	$$BUF
		147532			SIGNL2==	$$BUF
		147530			SIGNL3==	$$BUF
		147522			DDRAM==	$$BUF
		147516			RDRTMP==	$$BUF
		147502			$DRAM==	$$BUF
		147500			$DDRMS==	$$BUF
		147476			$STDAT==	$$BUF
		147474			KLCLKR==	$$BUF
		147466			TENDAT==	$$BUF
		147462			TENAC0==	$$BUF
		147454			C10CW==	$$BUF
		147446			CLKCNT==	$$BUF
		147444			$TADSP==	$$BUF
		147442			SWTDEP==	$$BUF
		147442			BUFCLR==$$BUF
					
					.IF2
		000002			.IFL $$BUF-PATEND
					.PRINT \BUFFER STORAGE OVERLAPS LITERAL STORAGE, FLUSH SOMETHING!
					\
					INFORM OVERLAP,\PATEND-$$BUF
					.IFF
					INFORM FREE LITERAL/BUFFER SPACE,\$$BUF-PATEND
					.IF P2
				.PRINT	\FREE LITERAL/BUFFER SPACE=2
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 402
	SBST11 PAL[KL,SYS]	Page 9.1 	*STORE* PROGRAM STORAGE FILE, 5-AUG-75

					\
					.ENDC
					.ENDC
					.ENDC
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 403
	KLDCP PAL[KL,SYS]	Page 5.11 	*STORE* PROGRAM STORAGE FILE, 5-AUG-75

					
		100010			.END	$ILOAD		;initial startup in SUB11
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 404
	KLDCP PAL[KL,SYS]	Page 5 	***Symbol Table***      

	ABORT	100000		BLKI	000000		C10SW1	110214		CON1	144004	
	AC	000000		BLKO	000002		C10SW2	110222		CON2	144026	
	ACTBCK	140640		BOOASB	000001H		C10SWE	110270		CONBUT	000012	
	ACTDON	140604		BOOTBF	152312H		C10SWT	110204		CONI	000005	
	ACTERR	140652		BOOTBG	152302H		C10TI	110020		CONO	000004	
	ACTLD2	140422		BOOTSA	152306H		C10TIE	110100		CONSL	100106	
	ACTLDC	140632		BOOTSZ	002260H		C10TIX	110056		CONSO	000007	
	ACTLDF	140646		BOOTWD	000620H		C10TIZ	110106		CONSOL	100000H	
	ADH	000000		BPARER	000020		C10TO	107772		CONSZ	000006	
	ADL	000000		BPTASB	000000U		C10X	110164		COREND	160000	
	ADRERR	113350		BPTVEC	000014		C10X1	110472		COUN10	157100H	
	ALLEX1	102276		BRCLK	000005		C10XXX	111336		CPUPR	000140H	
	ALLEXT	102262		BUFCLR	147442H		CAB08	040000		CR	000015	
	ALLFLG	147754H		BURST	104131		CASAV	151074H		CTRLOF	150010H	
	ALTMOD	000033		BYTE2	020000		CBIT	000001		D1011	000040	
	APR	000000		C10BCR	110654		CCA	000014		D10MON	104111	
	ASCR50	104165		C10C0	110630		CDADR	151142H		D10ZRO	104112	
	BELL	000007		C10C1	110660		CDD	000020		D11MPE	001000	
	BIT0	000001		C10C2	110714		CECLK	000004		DADONE	140604	
	BIT00	000001		C10C3	110640		CHAIN	000001		DAHLP	140426	
	BIT01	000002		C10C4	111154		CLKASB	000001H		DAHLPD	140510	
	BIT02	000004		C10C5	111342		CLKCNT	147446H		DATAI	000001	
	BIT03	000010		C10C6	111550		CLKDFL	157246H		DATAO	000003	
	BIT04	000020		C10CER	111140		CLKFLG	157160H		DATCOM	143744	
	BIT05	000040		C10CLK	110574		CLKINT	126052		DATEVE	143772	
	BIT06	000100		C10COP	110742		CLKPE	157264H		DATINT	135112	
	BIT07	000200		C10CPT	110610		CLKPRM	104202		DATODD	143756	
	BIT08	000400		C10CR1	111544		CLKSTA	125744		DATPAG	105770	
	BIT09	001000		C10CW	147454H		CLRMR	000006		DCOMST	000001	
	BIT1	000002		C10CX	110634		CLRRUN	000010		DCSRT	000001	
	BIT10	002000		C10CX1	110664		CMD10T	107466		DDRAM	147522H	
	BIT11	004000		C10DDT	110344		CMPR36	104052		DDTFLG	147760H	
	BIT12	010000		C10DN1	107260		CNTRLA	000001		DDTTM1	147624H	
	BIT13	020000		C10DN2	107266		CNTRLC	000003		DDTTM2	147622H	
	BIT14	040000		C10DNX	107552		CNTRLD	000004		DECVER	000010H	
	BIT15	100000		C10DON	107526		CNTRLI	000011		DEFEXT	130642	
	BIT2	000004		C10KAS	110530		CNTRLK	000013		DEP	010000	
	BIT3	000010		C10P1	110466		CNTRLL	000014		DEVFIL	133346	
	BIT4	000020		C10P2	110462		CNTRLO	000017		DEVLC	150744H	
	BIT5	000040		C10P3	110476		CNTRLR	000022		DEVTYP	157310H	
	BIT6	000100		C10P4	110504		CNTRLT	000024		DEX	000400	
	BIT7	000200		C10P5	110510		CNTRLU	000025		DEXDON	000004	
	BIT8	000400		C10PNT	110146		CNTRLX	000030		DEXWD1	000006	
	BIT9	001000		C10PRG	110406		CNTRLZ	000032		DEXWD2	000004	
	BKARW	000137		C10PT	110422		CNUPE	000002		DEXWD3	000002	
	BKSLH	000134		C10SW	110170		COMMA	000054		DFADB	104125	
	BLANK	000040		C10SW0	110226		COMNER	113370		DFLEGA	104226	
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 405
	KLDCP PAL[KL,SYS]	Page 5 	***Symbol Table***      

	DFPC	104123		DLRCSR	000000		DRAMAD	104130		DTINIT	104156	
	DFRD	104116		DLRD	000200		DRESET	000100		DTLNGT	151154H	
	DFRDMV	104117		DLRDM	000377		DRJ1.4	000134		DTRDFL	104211	
	DFRDT	104140		DLRDPE	010000		DRJ710	000135		DTREAD	104161	
	DFSCLK	104122		DLRDS	000000		DRLTCH	000015		DTREV	135064	
	DFUNC	000200		DLRE	000001		DS00	100000		DTREVC	135072	
	DFVMA	104124		DLRI	040000		DS01	040000		DTRPLD	131122	
	DFVMAH	104150		DLRIE	000100		DS02	020000		DTSRA	134706	
	DFWIR	104121		DLRIV	000060		DS03	010000		DTSRE	134724	
	DFWRT	104120		DLRTS	000004		DS04	004000		DTSRF	134746	
	DFWRTT	104141		DLSRD	002000		DS05	002000		DTSTRT	151152H	
	DFXCT	104114		DLSTD	000010		DS06	001000		DTUNIT	157276H	
	DFXCTT	104115		DLTDM	000377		DSEND	000004		DTWRT	104205	
	DHASB	000000U		DLTDS	000000		DSKDIR	003030		DTWTFL	104212	
	DIAEOF	112362		DLTIE	000100		DSVER	135664		DTXCMD	151100H	
	DIAFLG	151140H		DLTIV	000064		DTAFIL	104207		DUPE	000020	
	DIAFND	112226		DLTR	000200		DTAFL1	133430		DURE	000004	
	DIAG1	000030		DLXBUF	000006		DTBASE	104213		DVADR	151150H	
	DIAG2	000032		DLXCSR	000004		DTBLK	151072H		DVASB	000000U	
	DIAG3	000036		DLYCNT	000000		DTCOPY	003022		DVBUF	151212H	
	DIANF	112234		DON10C	040000		DTE	000200		DVCNT	151146H	
	DIARD	112242		DON10S	100000		DTE10D	136576		DVDATA	104160	
	DIARNL	112262		DON11C	000100		DTE11D	136650		DVDIRF	151144H	
	DIASEL	112156		DON11S	000200		DTEADR	174400		DVEOF	134064	
	DIKL10	000010		DPAD	000127		DTEASB	000001		DVFRAM	104163	
	DING	002000		DPADB	000153		DTEBAS	104113		DVLOAD	130312	
	DIRST0	151166H		DPADX	000126		DTEBBD	000000U		DVSASB	000001	
	DIRST1	151170H		DPAR	000120		DTEBCT	157132H		DVWRD	104164	
	DIRST2	151172H		DPARX	000125		DTEBSY	157134H		DXWRD1	002000	
	DIRST3	151174H		DPBR	000121		DTEDEF	000001		EBSEL	000100	
	DIRST4	151176H		DPBRX	000124		DTEINI	140730		EBUSPC	000020	
	DISACF	000066		DPERG	000167		DTEINT	136510		EBUSPS	000004	
	DISIOJ	000065		DPFE	000132		DTEIV0	000774		ECLOK	104135	
	DLASB	000001		DPFE1	000133		DTEIV1	000770		EDONES	040000	
	DLBA	177560		DPFM	000123		DTEIV2	000764		EMTIMO	100104	
	DLBRK	000001		DPFMA	000114		DTEIV3	000760		EMTVEC	000030	
	DLCD	010000		DPMQ	000122		DTEMAX	000004		EN0BSZ	000454	
	DLCTS	020000		DPOS	104105		DTER	134776		EN0BUF	157112H	
	DLDIE	000040		DPOST	104106		DTERA	135012		EN0DLY	157076H	
	DLDSC	100000		DPOSVR	104107		DTERB	135032		EN0ER1	157126H	
	DLDTR	000002		DPOSVT	104110		DTERC	135042		EN0ER2	157120H	
	DLERR	100000		DPPC	000153		DTESIZ	000040		EN0IND	157110H	
	DLFE	020000		DPSC	000130		DTESZS	000005		EN0MEM	157116H	
	DLMAIN	000004		DPSC1	000131		DTEXT	151164H		EN0PER	157124H	
	DLORE	040000		DPVMA	000157		DTEXTS	151156H		EN0PKI	157122H	
	DLRA	004000		DPVMHD	000157		DTFIL	133400		EN0PKO	157130H	
	DLRBUF	000002		DRAMAB	000133		DTHDER	135052		ENBCCF	157106H	
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 406
	KLDCP PAL[KL,SYS]	Page 5 	***Symbol Table***      

	ENETQ	157066H		FSCLKA	152254H		INHCSH	000004		LDBIN1	132242	
	ENIADR	160036		FSCLKR	114264		INHPAG	000020		LDBIN2	132300	
	ENICOP	136344		FSFLG	152256H		INT10	100000		LDBIN3	132326	
	ENICSR	160034		FSHNG1	114120		INT10S	000400		LDBINE	132316	
	ENIHAD	157052H		FSIN4D	113744		INT11C	002000		LDBLD2	135402	
	ENIINT	136074		FSIN4E	114000		INT11S	004000		LDBOOT	135264	
	ENIOJA	000067		FSIN4R	113726		INTROF	000010		LDBRL	000043	
	ENISET	136320		FSIN4W	114032		INTRON	000040		LDBRR	000042	
	ENIWA	160032		FSIN5A	114152		INTSON	000001		LDBXFR	135456	
	ENIWC	160030		FSINT1	113476		INTSW	151112H		LDCHAN	000070	
	ENOCSR	160024		FSINT2	113534		IOTVEC	000020		LDCHK1	000046	
	ENODLY	160026		FSINT3	113626		IRLOAD	000014		LDCHK2	000047	
	ENOINT	135674		FSINT4	113636		JFILEF	147640H		LDCKSM	131606	
	ENOWA	160022		FSINT5	114130		JFILIN	101730		LDCLR	131466	
	ENOWC	160020		FSINTA	113572		JFINP	147636H		LDCNT	150760H	
	ENPCHK	136406		FSLOSM	114460		JRST	000254		LDCNTL	150754H	
	EOP	104061		FSMSG	114434		KASET	110540		LDCNV	131472	
	EOPSET	104063		FSRBUF	152262H		KASIM	147700H		LDCRAM	132640	
	EPTREL	000001H		FSRINT	113456		KLCLKR	147474H		LDCZRO	132606	
	ERR10C	010000		FSRLEN	000012H		KLDCP	000001		LDDIS	000045	
	ERR10S	020000		FSRPTR	152260H		KLRUN	002000		LDDONE	131770	
	ERR11C	000001		FSRTIM	152246H		KONSL	100134		LDDRAM	132450	
	ERR11S	000002		FSSTAT	152300H		KTIMBS	157162H		LDELVN	131774	
	ERREOP	104062		FSTINT	114170		KWASB	000001		LDEOL	131604	
	ERRHLT	104001		FSTPTR	152276H		KWLIV	000100		LDERR	131600	
	ERRSTP	004000		FSTYP	114210		KWLKE	000100		LDLTR	131670	
	ERRVEC	000004		FSTYP1	114226		KWLKS	177546		LDMBXA	000071	
	ERSTOP	000400		FSTYP2	114254		L10ADR	147720H		LDOCT	131572	
	ESYNC	104136		FSTYPR	152274H		LBC	151104H		LDOCTF	150756H	
	ETB	000027		FSXIT	113526		LCRAM1	000057		LDOVRD	150752H	
	EXAM	104103		FSXITA	113724		LCRAM2	000056		LDPRO1	131374	
	EXAMT	104104		FSXITC	113556		LCRAM3	000055		LDPRO2	131444	
	EXCT	104101		FUQ	000000H		LCRAM4	000054		LDPRO3	131450	
	EXTBF	151206H		HALTLP	001000		LCRAM5	000053		LDPROC	131304	
	EXVIRT	020000		HANGU1	114050		LCRDAL	000052		LDRAM1	000060	
	FATAL	104000		HANGUP	114042		LCRDAR	000051		LDRAM2	000061	
	FESCP	103330		HLPPNT	150742H		LD10ER	133330		LDRAM3	000062	
	FF	000014		HRLZI	000515		LD10V	133310		LDRDIN	133146	
	FFDEP	141466		HRRI	000541		LD10VE	133250		LDRJEV	000063	
	FLOPPY	157306H		I	000000		LD10VR	133244		LDRJOD	000064	
	FLST	143322		IFILEF	147644H		LD11DN	132226		LDSEL	000044	
	FR10Q	157062H		IFILEP	140670		LDADR	150762H		LDSTRT	113226	
	FREEAD	003000H		IFILIN	101666		LDAR	000077		LDTEN	133050	
	FREEND	023000H		IFILX	101714		LDATA	150764H		LDTENZ	133074	
	FREEQ	157056H		IFILX1	101724		LDATAE	151070H		LDTYPE	131652	
	FREESZ	020000H		IFINP	147642H		LDBDAT	135406		LDZBLK	150750H	
	FSCASB	000000U		IJFILX	101772		LDBIN	132240		LF	000012	
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 407
	KLDCP PAL[KL,SYS]	Page 5 	***Symbol Table***      

	LJMP	132430		MULTPY	104072		PNT23	104041		QECHRQ	000002	
	LLD1	131136		NAMBF	151200H		PNT36	104042		QECHRY	000001	
	LLD2	131146		NAMEXT	104206		PNT36B	104134		QENADR	000004	
	LLD3	131156		NAMRAD	151116H		PNTADR	104137		QENBCC	000006	
	LLD4	131166		NBIT	000010		PNTAL	104024		QENMSG	000010H	
	LLDONE	131242		NEG36	122006		PNTBAK	104177		QENPKT	000003	
	LLIST	141750		NOPAR	115152		PNTCHR	104027		QENWC	000006	
	LLISTL	000012H		NOPNT	010000		PNTCI	104214		QGET	137140	
	LODAR	104102		NULL	000000		PNTCPU	104132		QGIVE	137120	
	LOOPER	001000		NULSTP	000040		PNTCRM	104142		QHDRSZ	000006	
	LPASB	000000U		NUPE	000002		PNTDEC	104037		QINI	137522	
	LPTASB	000000U		OPRSEL	000002		PNTDRM	104143		QMPCMD	137166	
	LPTFLG	157304H		P10CMD	112144		PNTLPT	004000		QMPCXT	137314	
	LPTYPE	157302H		PAG	000010		PNTNBR	104030		QMPINI	137674	
	LTMP	151106H		PAGDFL	157254H		PNTOCS	104036		QMPRQS	157054H	
	MCNVER	000000H		PALERS	000200		PNTOCT	104035		QMPRTY	137322	
	MEMPE	124076		PATCH	147416		PNTODC	104046		QMPRY1	137242	
	MEMPEF	147632H		PATEND	147440H		PNTODT	104047		QNOPMS	000000	
	MICFIL	104204		PBELL	104045		PNTRST	104215		QREQ	000004	
	MICNUL	104203		PC	000007R		PR0	000000		QSIZ	000002	
	MMADDM	007740		PCF	103106		PR1	000040		R0	000000R	
	MMADDS	000005		PCFTBL	103214		PR2	000100		R1	000001R	
	MMDAT	147560H		PCKASB	000001H		PR3	000140		R2	000002R	
	MMERRF	100000		PCMDE	101526		PR4	000200		R3	000003R	
	MMLPBA	172100		PCMDE1	101546		PR5	000240		R4	000004R	
	MMLPEA	172136		PCMDE2	101572		PR6	000300		R5	000005R	
	MMLPIV	000114		PCMDE3	101552		PR7	000340		R50UPK	104155	
	MMPIE	000001		PCMDFL	152234H		PRGCMD	104133		R6	000006R	
	MMWWP	000004		PCMDNF	152232H		PRGHLT	104002		RAMIS0	010000	
	MODDVC	000010		PCOMMA	104034		PRGNPT	104216		RCRAM	104074	
	MONASB	000000U		PCRLF	104031		PRGRUN	147634H		RCRAM1	000147	
	MONCTL	152242H		PCVMAP	102714		PRGSRT	100000		RCRAM2	000146	
	MONMOD	147706H		PDVER	003010		PRINTT	104151		RCRAM3	000145	
	MRESET	104076		PEBITS	157262H		PROL36	104146		RCRAM4	000144	
	MSWCHR	000030		PERCLR	001000		PRTOFF	004000		RCSPEC	000141	
	MTTYC	107350		PFORCE	104043		PS	177776		RDCLK	111600	
	MTTYCF	107356		PGOADR	157204H		PSLASH	104033		RDRAM	104126	
	MTTYER	107276		PGOCTL	157202H		PSPACE	104032		RDRTMP	147516H	
	MTTYI0	107212		PHYS	100000		PTAB	104227		READ0	000100	
	MTTYI1	107222		PI	000004		PTABLE	003020		READ1	000101	
	MTTYIN	107200		PID	003004		PTTY	104152		READ2	000102	
	MTTYO	107324		PLDBUF	104154		PULSE	000060		READ3	000103	
	MTTYOC	107302		PLPT	104153		PWLEN	000004H		REGRST	104051	
	MTTYOF	147704H		PMVER	003012		PWORD	114472		REGSAV	104050	
	MTTYP	107342		PNORML	104044		PWRVEC	000024		RELIAB	000100	
	MTTYS	107406		PNT18	104040		QCHN	000000		REMOTE	003032	
	MTTYX	107346		PNT22	104041		QDTMSG	000005		REQLST	136726	
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 408
	KLDCP PAL[KL,SYS]	Page 5 	***Symbol Table***      

	REQMAX	000016H		SHFT36	121764		TCDO	000001		TKVEC	000060	
	RESVEC	000010		SHIFTL	104054		TCDT	177350		TLDR	100074	
	RESVED	000000		SHIFTR	104053		TCERR	100000		TMON	100100	
	REVCNT	151114H		SIGNL	147550H		TCIE	000100		TMSFLG	157140H	
	RFMAD0	100000		SIGNL2	147532H		TCILO	010000		TO10	000200	
	RFMAD1	040000		SIGNL3	147530H		TCMTE	020000		TO10AD	000020	
	RFMAD2	020000		SIPNT	104466		TCPAR	040000		TO10BC	000014	
	RFMAD3	010000		SLASH	000057		TCRDAT	000004		TO10BM	000001	
	RM	000010		SM	104100		TCRDY	000200		TO10DB	000400	
	RPADDR	104174		SND10	137350		TCREV	004000		TO10DN	100000	
	RPASB	000000U		SNDEN	136006		TCRNUM	000002		TO10DT	000024	
	RPBASE	104175		SNDENR	136014		TCSELE	004000		TO10ER	020000	
	RPEOF	151136H		SP	000006R		TCSOFT	063000		TO10Q	157072H	
	RPERRO	104237		SPACE	000040		TCST	177340		TO11	000100	
	RPFIL	100574H		SRT10	113324		TCUINT	111760		TO11AD	000022	
	RPFILE	104210		SRT11	113250		TCWC	177344		TO11BC	000016	
	RPFIND	104167		SRT11X	113242		TCWDAT	000014		TO11BM	020000	
	RPINIT	104157		SRTFLG	150746H		TDDT	100070		TO11DB	004000	
	RPLKUP	104170		SSCLK	000002		TDELAY	104056		TO11DN	000200	
	RPLOAD	104166		STACK	157776H		TDIAG	100064		TO11DT	000026	
	RPRDFL	104171		START	100000		TELASB	000001H		TO11ER	000002	
	RPREAD	104162		STATUS	000034		TEMP	147646H		TOTALS	020000	
	RPTFLG	147752H		STKLMT	177774		TENAC0	147462H		TOUTBF	003000	
	RPUNIT	157274H		STPCLK	000000		TENAD1	000010		TPVEC	000064	
	RPWRFL	104172		STRCLK	000001		TENAD2	000012		TRAPVE	000034	
	RPWRIT	104173		SWITCH	104057		TENCER	107566		TRMTAB	122376	
	RSTART	040000		SWR	177570		TENCHR	104176		TRTVEC	000014	
	RUBOUT	000177		SWS10	157240H		TENCLK	152236H		TRYCTR	151102H	
	RUNLP	104003		SWSLFT	100000		TENCMD	107416		TTALTM	104013	
	RXASB	000000U		SWTDEP	147442H		TENDAT	147466H		TTBACK	104144	
	RXBASE	104234		SWTSAM	104060		TENDEA	107710		TTBTRM	104023	
	RXCOPY	003020		SYN	000001		TENMO	100056		TTCOCT	104010	
	RXFILE	104230		T11DBF	157136H		TENRUN	147710H		TTERM	104201	
	RXINIT	104231		T11MSE	136744		TENSP	104077		TTI36	104014	
	RXRDFL	104232		TA11	000260		TENSW	104145		TTIBRK	104015	
	RXREAD	104235		TAASB	000000U		TENSWD	152240H		TTICCL	104225	
	RXUNIT	157300H		TAB	000011		TENTTY	150042H		TTICHR	104005	
	RXWRT	104236		TAPT	003026		TEXTER	000000		TTICRA	104021	
	RXWTFL	104233		TBIT	000020		TGOADR	157210H		TTICSR	177560	
	SAILVR	000007H		TBITVE	000014		TILINA	120630		TTIDBR	177562	
	SCD	000040		TC11	000214		TILINC	120610		TTIDEC	104011	
	SEADR	157200H		TCASB	000001		TILNWF	150002H		TTILIN	104004	
	SECLK	000003		TCBA	177346		TIM11	157172H		TTILNW	104224	
	SETFLG	104055		TCBLKM	002000		TIMADR	157144H		TTIOCT	104007	
	SETMPH	104147		TCCM	177342		TIMBAS	157164H		TTIS36	104020	
	SETMR	000007		TCCM1	177343		TIMFLG	157142H		TTISDL	104016	
	SETRUN	000011		TCDATM	001000		TIMTMP	157152H		TTISDO	104017	
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 409
	KLDCP PAL[KL,SYS]	Page 5 	***Symbol Table***      

	TTITRM	104022		$$$ST	106204		$$SWR	157230H		$CLKST	100052	
	TTIYES	104012		$$ACT	131720		$$TDX	107726		$CLKTV	100054	
	TTLOOK	104006		$$BARG	000001H		$$TEN	131743		$CMCLR	115154	
	TTOCSR	177564		$$BUF	147442H		$$ZZQ	145310		$CMDE	113364	
	TTOCTE	104200		$$C1	110274		$0FLG	147774H		$CMDER	100574	
	TTODBR	177566		$$C2	140626		$10ADR	125350		$CMP36	125314	
	TTPINI	104217		$$CF	104425		$11ADR	137030		$CMTAG	152212H	
	TXTINH	000040		$$CI	104420		$11ECH	136774		$CNTLC	100004	
	UPECD	037000		$$CLC	141220		$11ETH	137012		$COMNT	113344	
	USEVIR	060000		$$CLIT	147416		$99	137176		$CONSL	100014	
	UTLASB	000000U		$$CLRF	125062		$ADR	147740H		$CR	144747	
	VBIT	000002		$$CMDE	112746		$ADR1	147736H		$CRMD0	130060	
	VEC02	000004		$$CNTL	100602		$ALADX	102500		$CRTBL	144766	
	VEC03	000010		$$CONS	100332		$ALARX	102430		$D10AD	125070	
	VEC04	000020		$$COR	131713		$ALBRX	102542		$D10MO	124202	
	VERIFY	147750H		$$DFX1	141320		$ALLAD	102464		$D10ZR	124142	
	VFUDAT	151212		$$DFXD	141412		$ALLAR	102414		$D10ZX	124176	
	VMADAT	147570H		$$DTX	134432		$ALLBR	102526		$DC	127734	
	VRBFLG	147604H		$$DTXC	134436		$ALLEB	102570		$DCNCL	127730	
	VT	000013		$$DTXE	134374		$ALLEC	126272		$DCTP1	126524	
	WCRAM	104073		$$DVX	134140		$ALLFE	103304		$DCTPC	126520	
	WCSAV	151076H		$$ECA	127024		$ALLFM	102324		$DD	127044	
	WDRAM	104127		$$FF	145026		$ALLMQ	102306		$DDA	127432	
	WEP	000010		$$GO	113216		$ALLPC	102642		$DDB	127446	
	WFILE	003024		$$ILOA	114520		$ALLPI	103420		$DDNPR	127040	
	WIRAR	143730		$$LD11	131677		$ALLSC	103320		$DDRMS	147500H	
	WIRAR1	143734		$$LITT	145030		$ALPCF	103024		$DDSIZ	127162	
	WREADY	147552H		$$NAM	131104		$ALPIG	103452		$DDT	000441	
	WRLIST	142360		$$P23	117070		$ALPIH	103504		$DDTER	104214	
	WRTBAK	151130H		$$PARA	112742		$ALPIO	103536		$DDTX	104112	
	WWADR	104075		$$PEX	117216		$ALPIX	103472		$DECN	113452	
	XEPT	000000		$$PEX1	117614		$ALPIY	103462		$DELAY	122562	
	XMEMSZ	001000H		$$PEX2	117726		$ALSTA	107732		$DFADB	144574	
	XOFF	000023		$$PEX3	120056		$ALVMA	102760		$DFERR	102102	
	XON	000021		$$PEX4	122440		$ALVMH	102776		$DFLEG	104276	
	XORCR	174200		$$PEX5	122174		$ASCR5	135122		$DFPC	144550	
	XORSR	174202		$$PEX6	121156		$BELL	144750		$DFPC1	144554	
	XR	000000		$$PEX7	121162		$BELLT	144774		$DFRD	141070	
	XUPT	040000		$$PMSG	122532		$BKFLG	157272H		$DFRDM	141700	
	XXDAT	147566H		$$PMSR	122524		$BUFRC	147534H		$DFRDT	141056	
	ZBIT	000004		$$PNTX	115626		$BURST	144052		$DFSCL	141240	
	ZEROS	147576H		$$PSX2	117732		$CKS11	151110H		$DFTIM	141154	
	ZSTOP	040000		$$RAM	131725		$CKSUM	115172		$DFTM1	141214	
	$$$CC	100624		$$ST	106006		$CLKHM	100046		$DFTMX	141200	
	$$$DVX	134364		$$STJR	157222H		$CLKMD	100044		$DFVMA	144566	
	$$$FF	147416		$$STKM	157360H		$CLKPR	144042		$DFVMH	144542	
	$$$NAM	131074		$$SVSP	147650H		$CLKSE	100050		$DFWIR	141470	
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 410
	KLDCP PAL[KL,SYS]	Page 5 	***Symbol Table***      

	$DFWRT	141510		$DTQMP	000460		$ERREO	115216		$INBUF	150520H	
	$DFXCT	141254		$DTRDF	134366		$ERRHL	115230		$INPTC	150736H	
	$DFXFS	141360		$DTREA	134476		$ERRPC	152222H		$INPTR	150740H	
	$DFXX	141110		$DTRFL	134400		$ERTTL	152220H		$ITERA	152230H	
	$DI	133724		$DTSEQ	000452		$ESYNC	123606		$JC	113232	
	$DIAFX	112230		$DTSWR	000457		$EXAM	124320		$JFILE	113064	
	$DIASX	101612		$DTT11	000447		$EXAMT	124312		$KA	106440	
	$DISPH	101142		$DTTIM	000446		$EXAMX	124332		$KDCEN	101140	
	$DPER1	102770		$DTWRT	134504		$EXDEP	124342		$KDCRE	100674	
	$DPERR	102374		$DTWTF	134442		$EXIT	124062		$KLCK1	141376	
	$DPOS	124236		$DTX	113202		$EXITE	124034		$KLCK2	141450	
	$DPOST	124232		$DTXF1	134522		$EXITS	124054		$KLCK3	141412	
	$DPOSV	125146		$DTXF2	134574		$FAD	130206		$KLCK4	141446	
	$DPOSX	124244		$DTXF3	134606		$FAR	130176		$KONS1	100364	
	$DPSVT	125142		$DTXF4	134754		$FATAL	123012		$KONS2	100422	
	$DPSX1	124302		$DTXFR	134510		$FATLE	122700		$KONSL	100230	
	$DPVRE	125230		$DVDAT	134030		$FBR	130222		$KONSP	147756H	
	$DPVRP	125216		$DVFRA	133770		$FCOND	130302		$LDB	113016	
	$DPVRV	125240		$DVWRD	134106		$FFE	130250		$LDBNE	132322	
	$DPVRX	125210		$DWRTT	141730		$FFM	130230		$LDD	113026	
	$DPVRY	125206		$DXCTT	141224		$FILPL	113452		$LDE	112776	
	$DRAM	147502H		$EBPAR	125114		$FJ	130156		$LDR	113006	
	$DRAMA	143620		$EC	126242		$FMEM	130274		$LDT	112766	
	$DRAMO	127206		$ECADR	147744H		$FMQ	130226		$LF	144746	
	$DS	135472		$ECGET	126450		$FNUM	130256		$LFTBL	144760	
	$DT	113150		$ECHRY	136766		$FORCE	150000H		$LINER	131760	
	$DTAFI	133426		$ECLOK	125542		$FSC	130246		$LLD2	132742	
	$DTBAS	134470		$ECMD	147614H		$FSCAD	130234		$LODAR	144242	
	$DTBL	145002		$ECTIM	141210		$FSH	130252		$LRDIN	133176	
	$DTBL0	144746		$ED	127472		$FSTKB	100032		$MBPHS	144376	
	$DTBL1	144752		$EDADR	147742H		$FSTKS	100030		$MC	107364	
	$DTC	113206		$EDNOA	127462		$FSTPB	100036		$MICFI	143330	
	$DTCHR	000454		$EDODD	127466		$FSTPS	100034		$MICNU	143242	
	$DTCLK	000445		$EMADR	147654H		$FSTRV	100040		$MPHDF	157214H	
	$DTCMD	000451		$EMTAD	123106		$FSTTV	100042		$MPHMK	157216H	
	$DTDI1	133652		$EMTAE	123606		$FT	130172		$MRESE	141766	
	$DTDI2	133634		$EMTRP	123022		$FVMA	130270		$MULTP	122056	
	$DTDIR	133744		$ENBCC	137072		$GO	113212		$NAMEX	130676	
	$DTEBA	141046		$END	126606		$HELP	113132		$NB	000010	
	$DTF11	000450		$ENDCT	152226H		$HELP1	113144		$NEG	147772H	
	$DTFLG	000444		$EOLFL	150006H		$HU	114476		$NEXT	126572	
	$DTINF	134464		$EOP	115216		$IFILE	113104		$NONXF	134144	
	$DTINI	134132		$EOPCT	152224H		$IIX	113112		$NOTAS	122776	
	$DTMTD	000455		$EOPSE	115216		$ILDCL	152246		$OCTN	113452	
	$DTMTI	000456		$EOR	122726		$ILDSU	157314H		$ONETM	157316H	
	$DTNOP	136766		$EOR2	123002		$ILLUP	123622		$OUTBF	150274H	
	$DTOPR	000453		$ERFLG	152216H		$ILOAD	100010		$OUTPC	150516H	
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 411
	KLDCP PAL[KL,SYS]	Page 5 	***Symbol Table***      

	$OUTPP	150512H		$PNTRS	116020		$RNN	104002		$SWTSA	120036	
	$OUTPT	150514H		$PNTSP	117774		$RNX	104106		$TADSP	147444H	
	$P18X	117160		$PODCD	117036		$RP	100574H		$TBLL	145014	
	$P23X	117164		$PODMV	117324		$RPINF	151124H		$TCX	112076	
	$P23Y	117132		$PODT	116756		$RPT	100456		$TEMP0	147712H	
	$P36B	117142		$PRGCM	101452		$RQCB	140156		$TENCH	112106	
	$P36BX	117156		$PRGHL	115220		$RUNLP	107030		$TENRN	106366	
	$P36MV	117304		$PRGNP	101444		$RXX	113176		$TENSP	125614	
	$PADR	117044		$PRGXX	101456		$SAV20	147606H		$TENSW	111762	
	$PAGDF	141032		$PRINT	116036		$SAVAL	140310		$TF	113434	
	$PARA	113356		$PRNTH	150022H		$SAVRG	140352		$TI36C	122042	
	$PARAM	113452		$PROG	113036		$SAVVR	140376		$TIALT	120504	
	$PASS	152214H		$PROG1	113046		$SBRIN	114566		$TIBEL	120460	
	$PBELL	116746		$PROG2	113042		$SETFL	124044		$TIBKS	120516	
	$PCMDX	101606		$PROL3	117344		$SETMP	144336		$TICC	120522	
	$PCOMM	115646		$PRT36	117222		$SHFTL	122510		$TICHR	147764H	
	$PCRAM	126500		$PSLAS	115640		$SHFTR	122472		$TICL	120532	
	$PCRLF	116740		$PSPAC	115632		$SHFTX	122504		$TICO	120554	
	$PCSAV	147676H		$PSSAV	147674H		$SI	104220		$TICR	120452	
	$PDRAM	127576		$PTAB	115654		$SM	125376		$TICRA	122456	
	$PEAR	105006		$PTCO	116732		$SMERR	125454		$TICU	120440	
	$PECR	105033		$PTTY	116172		$SMRLS	142664		$TICX	120566	
	$PEDR	105051		$PTTY1	116514		$SMTAB	125460		$TIEXT	120462	
	$PEFM	105017		$PTTY2	116530		$SP	103750		$TILF	120546	
	$PEFS	105067		$PTTYC	116544		$SPCMR	142616		$TILN1	120170	
	$PFORC	120044		$PWRCN	157312H		$SPSAV	147672H		$TILN2	120220	
	$PGWID	150020H		$PWRDN	123614		$SQASH	143154		$TILN3	120104	
	$PH1	115260		$PWRUP	123626		$ST	105776		$TILNX	120152	
	$PH2	115254		$QCLR	137620		$STD	000440		$TILRN	120062	
	$PLDBU	115662		$QUEUE	137634		$STDAT	147476H		$TIMOT	122710	
	$PMSG	104025		$R0SAV	147656H		$STERR	106242		$TIRDY	120666	
	$PMSGR	104026		$R1SAV	147660H		$STJRS	141040		$TIRUB	120372	
	$PNORM	120052		$R2SAV	147662H		$STL	000442		$TKB	100022	
	$PNT18	117112		$R3SAV	147664H		$STM	000443		$TKS	100020	
	$PNT23	117126		$R4SAV	147666H		$STMT1	144372		$TMINU	121166	
	$PNT36	117152		$R50UP	134166		$STMTB	144366		$TNBUF	150052H	
	$PNTAL	115520		$R5SAV	147670H		$STODD	157220H		$TNCHR	150044H	
	$PNTBA	115766		$RC	126656		$STRCH	142532		$TNPTC	150270H	
	$PNTCH	115622		$RCP	127006		$STTB1	106246		$TNPTR	150272H	
	$PNTCI	122542		$RCRAM	142674		$STUF	122752		$TOCHR	147762H	
	$PNTCP	103600		$RDLST	143150		$SVH	147770H		$TOCTE	122420	
	$PNTDE	117474		$RDRAM	143450		$SVM	147766H		$TOOUT	121036	
	$PNTNB	115612		$REGRS	122642		$SW	110300		$TORDY	120774	
	$PNTO	117374		$REGSA	122626		$SWITC	120024		$TP	113404	
	$PNTOC	117364		$RESVD	122720		$SWMON	152244H		$TPB	100026	
	$PNTOD	116770		$RLCB	140032		$SWS10	157232H		$TPLIN	150016H	
	$PNTOS	117372		$RN	104000		$SWTCH	147652H		$TPLIT	150014H	
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 412
	KLDCP PAL[KL,SYS]	Page 5 	***Symbol Table***      

	$TPS	100024		.AC	105544		.DPXAD	147724H		.VM	102732	
	$TPW	113416		.AD	102442		.EADR	147746H		.VMH	102774	
	$TPWF	113430		.ADB	103006		.EB	112456		.XCT	104432	
	$TTALT	117700		.ALL	103550		.EE	112450		.XCT1	104544	
	$TTBAC	120006		.AR	102400		.EEB	112460		.XCT2	104540	
	$TTBTR	122330		.BC10	157334H		.ERG	102554		.XCTER	104566	
	$TTCOC	122406		.BC11	157336H		.EXCOM	106666		.ZE	112632	
	$TTERM	122336		.BR	102512		.EXM	106622	
	$TTI36	121342		.BU	104602		.EXMN1	107016	
	$TTIBR	122164		.CCMN	104710		.EXMNX	107004	
	$TTICC	101636		.CCMN1	104704		.EXMSP	106770	
	$TTICH	117620		.CE	105400		.FE	103302	
	$TTIDE	121230		.CEP	105532		.FM	102320	
	$TTILI	120146		.CF	104412		.FS	102070	
	$TTILN	120140		.CI	104374		.HC	115464	
	$TTIOC	121072		.CIF	104400		.HCADR	147626H	
	$TTITR	122324		.CNERR	106272		.HCFLG	147630H	
	$TTIX1	117642		.CNSER	104576		.MM	105240	
	$TTIX2	117650		.CR	104742		.MMC	105242	
	$TTIYE	117744		.CS	104632		.MMX	105276	
	$TTLKF	150004H		.CSR	104646		.MQ	102304	
	$TTLOO	117652		.CSRER	104736		.MRESE	102602	
	$TTPIN	116004		.DA	102610		.MT	105312	
	$TTS36	122444		.DAT1	157326H		.MU	105232	
	$TTSAV	150024H		.DAT2	157324H		.MZ	106450	
	$TTSDL	122200		.DAT3	157322H		.PC	102626	
	$TTSDO	122432		.DAX	102622		.PCF	103022	
	$TTSDX	122320		.DB	112660		.PD	104774	
	$TTYFL	147776H		.DE	112652		.PE	105102	
	$TTYIN	150040H		.DEB	112662		.PI	103414	
	$TTYTI	147702H		.DELAY	157320H		.PL	104320	
	$TW	113412		.DFDP	102236		.PLX	104360	
	$VB	106404		.DFDPC	102254		.RI	113374	
	$VB1	106426		.DFRD	102112		.RPT	101410	
	$VBX	106332		.DFRDA	147730H		.RPTP	101422	
	$VERIF	112752		.DFWRT	102032		.RPTX	101414	
	$VMPC	144606		.DFX	102064		.SC	103316	
	$VMPC1	144600		.DFXCT	102014		.SE	112402	
	$WCRAM	142364		.DIAG1	157350H		.SM	104364	
	$WDRAM	143400		.DIAG2	157352H		.STDTE	157354H	
	$WWADR	142232		.DIAG3	157356H		.T10AD	157340H	
	$XCT	125472		.DP	106276		.T10DT	157344H	
	$XOFLG	150012H		.DPCM1	106336		.T11AD	157342H	
	%%DDT	000001H		.DPCOM	106316		.T11DT	157346H	
	%%EOP	000000U		.DPNX	106346		.TD	122576	
	%%QMP	000001H		.DPNX1	106314		.TENA1	157330H	
	%DDTS	077766H		.DPS	106362		.TENA2	157332H	
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	04/15/88  20:51:10	Page 413
	KLDCP PAL[KL,SYS]	Page 5 	***Symbol Table***      


1.5 Words Average Instruction Length

16 Seconds Runtime